diff --git a/documentation/content/en/articles/committers-guide/_index.po b/documentation/content/en/articles/committers-guide/_index.po index 1dee22ffb3..9585f882ca 100644 --- a/documentation/content/en/articles/committers-guide/_index.po +++ b/documentation/content/en/articles/committers-guide/_index.po @@ -1,8552 +1,8605 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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 crossref:committers-" "guide[non-committers, Issues Specific to Developers Who Are Not 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 crossref:committers-guide[smtp-setup, SMTP Access 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:103 #, no-wrap msgid "" "man:ssh[1] is required to connect to the project hosts. For more information,\n" "\tsee crossref:committers-guide[ssh.guide, SSH Quick-Start Guide].\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:105 msgid "Useful links:" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:107 msgid "link:https://www.FreeBSD.org/internal/[FreeBSD Project Internal Pages]" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:108 msgid "link:https://www.FreeBSD.org/internal/machines/[FreeBSD Project Hosts]" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:109 msgid "" "link:https://www.FreeBSD.org/administration/[FreeBSD Project Administrative " "Groups]" msgstr "" #. type: Title == #: documentation/content/en/articles/committers-guide/_index.adoc:111 #, no-wrap msgid "OpenPGP Keys for FreeBSD" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:116 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 https://en.wikipedia.org/wiki/" "Pretty_Good_Privacy[] for more information." msgstr "" #. type: Title === #: documentation/content/en/articles/committers-guide/_index.adoc:118 #, no-wrap msgid "Creating a Key" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:122 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:124 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:129 msgid "" "Install [.filename]#security/gnupg#. Enter these lines in " "[.filename]#~/.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:136 #, no-wrap msgid "" "# Sorted list of preferred algorithms for signing (strongest to weakest).\n" "personal-digest-preferences SHA512 SHA384 SHA256 SHA224\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:138 msgid "Generate a key:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:145 #, 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:166 #, 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" " = key expires in n days\n" " w = key expires in n weeks\n" " m = key expires in n months\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:172 #, no-wrap msgid "" "Real name: Chucky Daemon <.>\n" "Email address: notreal@example.com\n" "Comment:\n" "You selected this USER-ID:\n" "\"Chucky Daemon \"\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:175 #, 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:178 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:180 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:182 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:186 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:190 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:193 msgid "" "Committing the new key is shown in crossref:committers-guide[commit-steps, " "Steps for New Committers]." msgstr "" #. type: Title == #: documentation/content/en/articles/committers-guide/_index.adoc:195 #, no-wrap msgid "Kerberos and LDAP web Password for FreeBSD Cluster" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/committers-guide/_index.adoc:200 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:202 msgid "https://bugs.freebsd.org/bugzilla[Bugzilla]" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/committers-guide/_index.adoc:203 msgid "https://ci.freebsd.org[Jenkins]" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/committers-guide/_index.adoc:205 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:209 #, no-wrap msgid "% ssh kpasswd.freebsd.org\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/committers-guide/_index.adoc:214 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:217 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:221 #, no-wrap msgid "% kpasswd\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/committers-guide/_index.adoc:227 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:230 #, no-wrap msgid "Commit Bit Types" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:236 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:242 #, no-wrap msgid "__Committer Type__" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:243 #, no-wrap msgid "__Responsible__" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:245 #, no-wrap msgid "__Tree Components__" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:246 #, no-wrap msgid "src" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:247 #, no-wrap -msgid "core@" +msgid "srcmgr@" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:249 #, no-wrap msgid "src/" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:250 #, no-wrap msgid "doc" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:251 #, no-wrap msgid "doceng@" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:253 #, no-wrap msgid "doc/, ports/, src/ documentation" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:254 #, no-wrap msgid "ports" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:255 #, no-wrap msgid "portmgr@" msgstr "" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:256 #, no-wrap msgid "ports/" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:261 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:263 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:264 #, no-wrap msgid "Policy for Committer Activity in Other Trees" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:267 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:268 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:270 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:271 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. " +"mentor who will propose them to srcmgr, 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:273 #, no-wrap msgid "Documentation Implicit (Blanket) Approval" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:277 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:279 msgid "Blanket approval applies to these types of fixes:" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:281 msgid "Typos" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:282 msgid "Trivial fixes" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:284 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:287 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:289 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:291 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:292 msgid "Changes in [.filename]#doc/shared/contrib-additional.adoc#" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:294 msgid "" "extref:{contributors}[Additional FreeBSD Contributors, contrib-additional] " "maintenance." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:295 msgid "All link:#commit-steps[Steps for New Committers], doc related" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:296 msgid "Security advisories; Errata Notices; Releases;" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:298 msgid "Used by {security-officer} and {re}." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:299 msgid "Changes in [.filename]#website/content/en/donations/donors.adoc#" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:301 msgid "Used by {donations}." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:303 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:305 #, no-wrap msgid "Git Primer" msgstr "" #. type: Title === #: documentation/content/en/articles/committers-guide/_index.adoc:308 #, no-wrap msgid "Git basics" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:315 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:317 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:319 #, no-wrap msgid "Git Mini Primer" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:322 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:323 #, no-wrap msgid "Scope" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:329 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:333 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:335 #, no-wrap msgid "Getting Started For Developers" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:338 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:340 #, no-wrap msgid "Daily use" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/committers-guide/_index.adoc:345 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:348 msgid "Clone the repository:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:352 #, 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:355 msgid "Then you should have the official mirrors as your remote:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:361 #, 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:364 msgid "Configure the FreeBSD committer data:" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:367 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:374 #, 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:377 msgid "Set the push URL:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:381 #, 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:384 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:390 #, 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:393 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:395 msgid "Install commit message template hook:" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:397 msgid "For doc repository:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:402 #, 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:405 msgid "For ports repository:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:409 #, no-wrap msgid "% git config --add core.hooksPath .hooks\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:412 msgid "For src repository:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:417 #, no-wrap msgid "" "% 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:420 #, no-wrap msgid "\"admin\" branch" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:423 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:425 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:431 #, 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:433 msgid "Alternatively, you can add a worktree for the `admin` branch:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:437 #, 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:441 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:443 msgid "For pushing, specify the full refspec:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:447 #, no-wrap msgid "git push freebsd HEAD:refs/internal/admin\n" msgstr "" #. type: Title ==== #: documentation/content/en/articles/committers-guide/_index.adoc:449 #, no-wrap msgid "Keeping Current With The FreeBSD src Tree" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:456 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:457 #, no-wrap msgid "Branch Names" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:459 msgid "FreeBSD-CURRENT uses the `main` branch." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:461 msgid "`main` is the default branch." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:463 msgid "For FreeBSD-STABLE, branch names include `stable/12` and `stable/13`." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:465 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:467 msgid "https://www.freebsd.org/releng/[] shows:" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:469 msgid "`main` and `stable/⋯` branches open" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:470 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:472 msgid "Examples:" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:474 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:475 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:476 #, no-wrap msgid "Repositories" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:479 msgid "" "Please see the crossref:committers-guide[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:482 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:483 #, no-wrap msgid "Deep Clone" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:487 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:490 #, no-wrap msgid "% git clone -o freebsd $URL -b branch []\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:495 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 `` 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:500 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:501 #, no-wrap msgid "Shallow Clone" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:507 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:511 #, 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:516 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:521 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:523 #, no-wrap msgid "Building" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:527 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:534 #, 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:536 msgid "so that won't be covered in depth here." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:539 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:540 #, no-wrap msgid "Updating" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:544 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:547 #, no-wrap msgid "% git pull --ff-only\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:552 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:555 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:556 #, no-wrap msgid "Selecting a Specific Version" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:560 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:562 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:565 #, no-wrap msgid "% git checkout 08b8197a74\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:568 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:571 #, no-wrap msgid "Note: checking out '08b8197a742a96964d2924391bf9fdfeb788865d'.\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:575 #, 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:578 #, 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:580 -#: documentation/content/en/articles/committers-guide/_index.adoc:1737 +#: documentation/content/en/articles/committers-guide/_index.adoc:1744 #, no-wrap msgid " git checkout -b \n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:582 #, 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:586 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:587 #, no-wrap msgid "Bisecting" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:591 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:596 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:603 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:607 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:612 #, 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:616 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 " "5ef0bd68b515) and good would be a8163e165c5b. 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:620 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:627 #, 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:636 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:638 #, no-wrap msgid "Signing the commits, tags, and pushes, with GnuPG" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:643 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:645 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:647 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:650 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:657 #, 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:665 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:671 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:673 #, no-wrap msgid "Verifying signatures" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:676 msgid "" "Commit signatures can be verified by running either `git verify-commit " "`, or `git log --show-signature`." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:678 msgid "" "Tag signatures can be verified with `git verify-tag `, or `git tag " "-v `." 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:687 #, no-wrap msgid "Ports Considerations" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:690 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:693 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:697 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:699 #, no-wrap msgid "Commit message formats" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:703 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:705 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:708 #, no-wrap msgid "category/port: Summary.\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:710 #, no-wrap msgid "Description of why the changes where made.\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:712 #, no-wrap msgid "PR:\t 12345\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/articles/committers-guide/_index.adoc:718 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:720 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:722 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:724 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:726 #, no-wrap msgid "Managing Local Changes" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:729 msgid "" "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:735 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:736 #, no-wrap msgid "Keeping local changes" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:743 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:747 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:748 #, no-wrap msgid "Keeping a local branch" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:755 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:759 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:761 msgid "====== Create a branch" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:766 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:788 #, 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 \n" " #include \n" " #include \n" "+#undef COLORLS\n" " #ifdef COLORLS\n" " #include \n" " #include \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:795 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:797 msgid "====== Time to update" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:802 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:808 #, 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:813 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:815 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:822 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 complete " "treatment can be found at the end of this section." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:825 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:835 #, 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 \", 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:838 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:847 #, no-wrap msgid "" " <<<<<<< HEAD\n" " #ifdef COLORLS_NEW\n" " #include \n" " =======\n" " #undef COLORLS\n" " #ifdef COLORLS\n" " #include \n" " >>>>>>> 646e0f9cda11... no color ls\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:851 #, 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:855 msgid "#undef COLORLS_NEW #ifdef COLORLS_NEW #include " msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:859 #, 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:862 msgid "% git add ls.c % git rebase --continue" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:867 #, 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:872 #, 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:875 #, 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:876 #, no-wrap msgid "Switching to a Different FreeBSD Branch" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:880 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:883 msgid "% git checkout main % # build and install here..." msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:889 #, 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:893 #, 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:900 #, 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:902 #, no-wrap msgid "[[mfc-with-git]]\n" msgstr "" #. type: Title === #: documentation/content/en/articles/committers-guide/_index.adoc:902 #, no-wrap msgid "MFC (Merge From Current) Procedures" msgstr "" #. type: Title ==== #: documentation/content/en/articles/committers-guide/_index.adoc:903 #, no-wrap msgid "Summary" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:907 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:908 #, no-wrap msgid "Single commit MFC" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:911 #: documentation/content/en/articles/committers-guide/_index.adoc:951 #: documentation/content/en/articles/committers-guide/_index.adoc:987 #: documentation/content/en/articles/committers-guide/_index.adoc:1103 #: documentation/content/en/articles/committers-guide/_index.adoc:1116 #: documentation/content/en/articles/committers-guide/_index.adoc:1159 #: documentation/content/en/articles/committers-guide/_index.adoc:1177 #: documentation/content/en/articles/committers-guide/_index.adoc:1269 #: documentation/content/en/articles/committers-guide/_index.adoc:1287 #: documentation/content/en/articles/committers-guide/_index.adoc:1309 #: documentation/content/en/articles/committers-guide/_index.adoc:1327 #: documentation/content/en/articles/committers-guide/_index.adoc:1348 #: documentation/content/en/articles/committers-guide/_index.adoc:1363 #: documentation/content/en/articles/committers-guide/_index.adoc:1382 #: documentation/content/en/articles/committers-guide/_index.adoc:1414 #: documentation/content/en/articles/committers-guide/_index.adoc:1461 #: documentation/content/en/articles/committers-guide/_index.adoc:1525 msgid "[source,shell]" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:914 msgid "% git checkout stable/X % git cherry-pick -x $HASH --edit" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:918 #, 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:920 #: documentation/content/en/articles/committers-guide/_index.adoc:941 #: documentation/content/en/articles/committers-guide/_index.adoc:964 #: documentation/content/en/articles/committers-guide/_index.adoc:975 #: documentation/content/en/articles/committers-guide/_index.adoc:1241 #: documentation/content/en/articles/committers-guide/_index.adoc:1335 #: documentation/content/en/articles/committers-guide/_index.adoc:1421 #: documentation/content/en/articles/committers-guide/_index.adoc:1433 #: documentation/content/en/articles/committers-guide/_index.adoc:1445 #: documentation/content/en/articles/committers-guide/_index.adoc:1471 #: documentation/content/en/articles/committers-guide/_index.adoc:1483 #: documentation/content/en/articles/committers-guide/_index.adoc:1490 #: documentation/content/en/articles/committers-guide/_index.adoc:1532 #: documentation/content/en/articles/committers-guide/_index.adoc:1566 #: documentation/content/en/articles/committers-guide/_index.adoc:1573 #: documentation/content/en/articles/committers-guide/_index.adoc:1582 #: documentation/content/en/articles/committers-guide/_index.adoc:1611 #: documentation/content/en/articles/committers-guide/_index.adoc:1627 -#: documentation/content/en/articles/committers-guide/_index.adoc:1660 -#: documentation/content/en/articles/committers-guide/_index.adoc:1681 -#: documentation/content/en/articles/committers-guide/_index.adoc:1712 -#: documentation/content/en/articles/committers-guide/_index.adoc:1724 -#: documentation/content/en/articles/committers-guide/_index.adoc:1755 +#: documentation/content/en/articles/committers-guide/_index.adoc:1638 +#: documentation/content/en/articles/committers-guide/_index.adoc:1667 +#: documentation/content/en/articles/committers-guide/_index.adoc:1688 +#: documentation/content/en/articles/committers-guide/_index.adoc:1719 +#: documentation/content/en/articles/committers-guide/_index.adoc:1731 #: documentation/content/en/articles/committers-guide/_index.adoc:1764 -#: documentation/content/en/articles/committers-guide/_index.adoc:1774 -#: documentation/content/en/articles/committers-guide/_index.adoc:1790 -#: documentation/content/en/articles/committers-guide/_index.adoc:1806 +#: documentation/content/en/articles/committers-guide/_index.adoc:1773 +#: documentation/content/en/articles/committers-guide/_index.adoc:1785 +#: documentation/content/en/articles/committers-guide/_index.adoc:1801 #: documentation/content/en/articles/committers-guide/_index.adoc:1817 -#: documentation/content/en/articles/committers-guide/_index.adoc:1824 -#: documentation/content/en/articles/committers-guide/_index.adoc:1837 -#: documentation/content/en/articles/committers-guide/_index.adoc:1857 -#: documentation/content/en/articles/committers-guide/_index.adoc:1871 -#: documentation/content/en/articles/committers-guide/_index.adoc:1887 -#: documentation/content/en/articles/committers-guide/_index.adoc:1899 +#: documentation/content/en/articles/committers-guide/_index.adoc:1828 +#: documentation/content/en/articles/committers-guide/_index.adoc:1835 +#: documentation/content/en/articles/committers-guide/_index.adoc:1848 +#: documentation/content/en/articles/committers-guide/_index.adoc:1868 +#: documentation/content/en/articles/committers-guide/_index.adoc:1882 +#: documentation/content/en/articles/committers-guide/_index.adoc:1906 #: documentation/content/en/articles/committers-guide/_index.adoc:1918 -#: documentation/content/en/articles/committers-guide/_index.adoc:1929 -#: documentation/content/en/articles/committers-guide/_index.adoc:1939 -#: documentation/content/en/articles/committers-guide/_index.adoc:1979 -#: documentation/content/en/articles/committers-guide/_index.adoc:1987 +#: documentation/content/en/articles/committers-guide/_index.adoc:1937 +#: documentation/content/en/articles/committers-guide/_index.adoc:1948 +#: documentation/content/en/articles/committers-guide/_index.adoc:1958 #: documentation/content/en/articles/committers-guide/_index.adoc:1998 -#: documentation/content/en/articles/committers-guide/_index.adoc:2019 -#: documentation/content/en/articles/committers-guide/_index.adoc:2080 +#: documentation/content/en/articles/committers-guide/_index.adoc:2006 +#: documentation/content/en/articles/committers-guide/_index.adoc:2017 +#: documentation/content/en/articles/committers-guide/_index.adoc:2038 +#: documentation/content/en/articles/committers-guide/_index.adoc:2099 #, no-wrap msgid "[source,shell]\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:923 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:926 #, 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:929 #, 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:930 #, no-wrap msgid "MFC to RELENG branch" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:934 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:939 #, 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:944 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:947 #, 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:948 #, no-wrap msgid "Multiple commit MFC" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:959 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:962 #, 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:970 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:973 #, 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:978 msgid "% git checkout stable/X % git branch -d tmp-branch" msgstr "" #. type: Title ==== #: documentation/content/en/articles/committers-guide/_index.adoc:980 #, no-wrap msgid "MFC a vendor import" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:985 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:989 msgid "% git cherry-pick -x -m 1 $HASH" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:992 #, 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:997 #, 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:1000 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:1002 #, 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:1003 #, no-wrap msgid "Redoing a MFC" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1008 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:1010 msgid "% git reset --hard freebsd/stable/12" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1013 #, 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:1014 #, no-wrap msgid "Considerations when MFCing" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1017 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:1021 #, 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:1023 #, 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:1027 #, 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:1031 #, 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:1034 #, 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:1035 #, no-wrap msgid "Finding Eligible Hashes to MFC" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1041 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:1042 #, no-wrap msgid "Commit message standards" msgstr "" #. type: Title ===== #: documentation/content/en/articles/committers-guide/_index.adoc:1043 #, no-wrap msgid "Marking MFCs" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1046 msgid "The project has adopted the following practice for marking MFCs:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1048 #, 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:1050 #, 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:1051 #, no-wrap msgid "Trim Metadata?" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1055 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:1064 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:1068 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:1071 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:1074 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:1076 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:1078 msgid "[[vendor-import-git]]" msgstr "" #. type: Title === #: documentation/content/en/articles/committers-guide/_index.adoc:1078 #, no-wrap msgid "Vendor Imports with Git" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1081 msgid "This section describes the vendor import procedure with Git in detail." msgstr "" #. type: Title ==== #: documentation/content/en/articles/committers-guide/_index.adoc:1082 #, no-wrap msgid "Branch naming convention" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1085 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:1091 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:1094 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:1095 #, no-wrap msgid "Updating an old vendor import" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1101 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:1105 msgid "% git worktree add ../mtree vendor/NetBSD/mtree" msgstr "" #. type: Title ==== #: documentation/content/en/articles/committers-guide/_index.adoc:1107 #, no-wrap msgid "Update the Sources in the Vendor Branch" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1110 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:1114 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:1128 #, 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:1141 #, no-wrap msgid "" "It is critical to verify that the source code you are importing comes from a\n" "trustworthy source. Many open-source projects use cryptographic signatures to\n" "sign code changes, git tags, and/or source code tarballs. Always verify these\n" "signatures, and use isolation mechanisms like jails, chroot, in combination with\n" "a dedicated, non-privileged user account that is different from the one you\n" "regularly use (see the Updating the FreeBSD source tree section below for\n" "more details), until you are confident that the source code you are importing\n" "looks safe. Following the upstream development and occasionally reviewing the\n" "upstream code changes can greatly help in improving code quality and benefit\n" "everyone involved. It is also a good idea to examine the git diff results\n" "before importing them into the vendor area.\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1145 #, no-wrap msgid "" "Always run the `git diff` and `git status` commands and examine the results\n" "carefully. When in doubt, it is useful to do a `git annotate` on the vendor\n" "branch or the upstream git repository to see who and why a change was made.\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1148 #, no-wrap msgid "" "In the example above we used `-m` to illustrate, but you should compose a\n" "proper message in an editor (using a commit message template).\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1153 #, 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:1154 #, no-wrap msgid "Updating the FreeBSD Copy" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1157 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:1161 msgid "% git push --follow-tags freebsd vendor/NetBSD/mtree" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1164 #, 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:1165 #, no-wrap msgid "Updating the FreeBSD source tree" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1169 msgid "" "Now you need to update the mtree in FreeBSD. The sources live in `contrib/" "mtree` since it is upstream software." msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1175 msgid "" "From time to time, we may have to make changes to the contributed code to " "better satisfy FreeBSD's needs. Whenever possible, please try to contribute " "the local changes back to the upstream projects, this helps them to better " "support FreeBSD, and also saves your time for future conflict resolutions " "when importing updates." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:1180 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:1190 #, no-wrap msgid "" "This would generate a subtree merge commit of `contrib/mtree` against the local `vendor/NetBSD/mtree` branch.\n" "Examine the diff from the merge result and the contents of the\n" "upstream branch. If the merge reduced our local changes to more\n" "trivial difference like blank line or indenting changes, try amending\n" "the local changes to reduce diff against upstream, or try to\n" "contribute the remaining changes back to the upstream project.\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: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1204 #, no-wrap msgid "" "Some open-source software includes a `configure` script that generates files\n" "used to define how the code is built; usually, these generated files like\n" "`config.h` should be updated as part of the import process. When doing\n" "this, always keep in mind that these scripts are executable code running\n" "under the current user's credentials. This process should always be run\n" "in an isolated environment, ideally inside a jail that does not have\n" "network access, and with an unprivileged account; or, at minimum, a\n" "dedicated account that is different from the user account you normally\n" "use for everyday purposes or for pushing to the FreeBSD source\n" "code repository. This minimizes the risk of encountering bugs that can\n" "cause data loss or, in worse cases, maliciously planted code. Using an\n" "isolated jail also prevents the configure scripts from detecting locally\n" "installed software packages, which may lead to unexpected results.\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1211 #, no-wrap msgid "" "When testing your changes, run them in a chroot or jailed environment,\n" "or even within a virtual machine first, especially for kernel or library\n" "modifications. This approach helps prevent adverse interactions with\n" "your working environment. It can be particularly beneficial for\n" "changes to libraries that many base system components use,\n" "among others.\n" msgstr "" #. type: Title ==== #: documentation/content/en/articles/committers-guide/_index.adoc:1212 #, no-wrap msgid "Rebasing your change against latest FreeBSD source tree" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1215 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:1218 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:1220 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:1237 #, 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:1239 #, 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:1252 #, 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:1256 #, 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:1258 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:1260 #, no-wrap msgid "Pushing the changes" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1265 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:1267 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:1273 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:1280 #, 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:1281 #, no-wrap msgid "How to redo things if need be" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1285 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:1294 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:1297 #, 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:1298 #, no-wrap msgid "Creating a new vendor branch" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1305 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:1306 #, no-wrap msgid "Create the repo" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:1315 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:1318 #, 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:1320 #, 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:1321 #, no-wrap msgid "Copy the sources in" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1325 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:1330 msgid "% cp -r ~/glorbnitz/* . % git add *" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1333 #, 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:1337 msgid "% git commit -m \"Import GlorbNitz frobnosticator revision 3.1415\"" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1342 #, 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\n" "crossref:committers-guide[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:1343 #, no-wrap msgid "Now import it into our repository" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1346 msgid "Now you need to import the branch into our repository." msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:1352 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:1357 #, 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:1358 #, no-wrap msgid "Tag and push" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1361 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:1369 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:1372 #, no-wrap msgid "By 'good' we mean:\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1378 #, 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:1379 #, no-wrap msgid "Time to finally merge it into the base tree" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:1388 #, 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:1391 #, no-wrap msgid "Here 'good' means:\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1396 #, 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 crossref:committers-guide[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:1402 #, 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:1403 #, no-wrap msgid "Keeping current" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1409 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:1412 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:1416 msgid "% git config --global pull.ff only" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1419 #, 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:1425 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:1429 #, 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:1431 #, no-wrap msgid "The longer form is also recommended.\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:1438 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:1443 #, 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:1447 msgid "% git rebase -i main working" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1454 #, 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:1456 #, no-wrap msgid "[[git-push-upstream]]\n" msgstr "" #. type: Title ===== #: documentation/content/en/articles/committers-guide/_index.adoc:1456 #, no-wrap msgid "Time to push changes upstream" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1459 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:1463 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:1467 #, 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:1469 #, no-wrap msgid "Use\n" msgstr "" #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:1473 msgid "freefall% gen-gitconfig.sh" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1476 #, 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:1481 #, 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:1485 msgid "% git push freebsd working:main" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1488 #, 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:1495 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:1498 #, no-wrap msgid "[[git-push-upstream-alt]]\n" msgstr "" #. type: Title ===== #: documentation/content/en/articles/committers-guide/_index.adoc:1498 #, no-wrap msgid "Time to push changes upstream (alternative)" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1504 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:1508 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:1512 #, 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:1515 msgid "% git pull --rebase % git push freebsd" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1518 #, 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:1519 #, no-wrap msgid "Finding the Subversion Revision" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1523 msgid "" "You'll need to make sure that you've fetched the notes (see the " "crossref:committers-guide[git-mini-daily-use, 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:1527 msgid "% git log" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1530 #, 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:1534 msgid "% git log --grep revision=XXXX" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1538 #, 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:1540 #, no-wrap msgid "[[git-faq]]\n" msgstr "" #. type: Title === #: documentation/content/en/articles/committers-guide/_index.adoc:1540 #, no-wrap msgid "Git FAQ" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1543 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:1549 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:1550 #, no-wrap msgid "Users" msgstr "" #. type: Title ===== #: documentation/content/en/articles/committers-guide/_index.adoc:1552 #, 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:1557 #, 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:1561 #, 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:1564 #, 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:1568 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:1571 #, 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:1576 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:1580 #, 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:1590 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:1593 #, 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:1595 #, 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:1596 #, no-wrap msgid "Developers" msgstr "" #. type: Title ===== #: documentation/content/en/articles/committers-guide/_index.adoc:1598 #, 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:1601 #, 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:1603 #, no-wrap msgid "**A:** First, don't panic.\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1607 #, 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:1609 #, 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:1615 #, 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" +"% git checkout -b issue # Create the 'issue' branch\n" +"% git checkout -B main freebsd/main # Reset main to upstream\n" +"% git checkout issue # Back to where you were\n" msgstr "" #. type: Title ===== #: documentation/content/en/articles/committers-guide/_index.adoc:1617 #, no-wrap msgid "Ooops! I committed something to the wrong branch!" msgstr "" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1621 #, 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:1625 #, 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:1633 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:1637 +#: documentation/content/en/articles/committers-guide/_index.adoc:1636 +#, no-wrap +msgid "If it is not the last commit, you can cherry-pick that one change from wilma onto fred, then use `git rebase -i` to remove the change from wilma.\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/committers-guide/_index.adoc:1643 #, 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" +"# We're on branch wilma\n" +"% git checkout fred\t\t\t# move to fred branch\n" +"% git cherry-pick HASH_OF_CHANGE\t# copy the misplaced commit\n" +"% git rebase -i main wilma\t\t# drop the cherry-picked change\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1639 +#: documentation/content/en/articles/committers-guide/_index.adoc:1646 #, 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:1645 +#: documentation/content/en/articles/committers-guide/_index.adoc:1652 #, 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:1647 +#: documentation/content/en/articles/committers-guide/_index.adoc:1654 #, 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:1653 +#: documentation/content/en/articles/committers-guide/_index.adoc:1660 #, 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:1658 +#: documentation/content/en/articles/committers-guide/_index.adoc:1665 #, 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:1665 +#: documentation/content/en/articles/committers-guide/_index.adoc:1672 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:1669 +#: documentation/content/en/articles/committers-guide/_index.adoc:1676 #, 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:1673 +#: documentation/content/en/articles/committers-guide/_index.adoc:1680 #, 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:1675 +#: documentation/content/en/articles/committers-guide/_index.adoc:1682 #, 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:1679 +#: documentation/content/en/articles/committers-guide/_index.adoc:1686 #, 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:1694 +#: documentation/content/en/articles/committers-guide/_index.adoc:1701 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:1702 +#: documentation/content/en/articles/committers-guide/_index.adoc:1709 #, 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:1710 +#: documentation/content/en/articles/committers-guide/_index.adoc:1717 #, 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:1715 +#: documentation/content/en/articles/committers-guide/_index.adoc:1722 msgid "% git checkout -B wilma 869cbd3 % git branch -D fred" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1722 +#: documentation/content/en/articles/committers-guide/_index.adoc:1729 #, 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:1728 +#: documentation/content/en/articles/committers-guide/_index.adoc:1735 msgid "% git checkout 869cbd3 M\tfaq.md Note: checking out '869cbd3'." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:1732 +#: documentation/content/en/articles/committers-guide/_index.adoc:1739 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:1735 +#: documentation/content/en/articles/committers-guide/_index.adoc:1742 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:1740 +#: documentation/content/en/articles/committers-guide/_index.adoc:1747 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:1743 +#: documentation/content/en/articles/committers-guide/_index.adoc:1750 #, 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:1744 +#: documentation/content/en/articles/committers-guide/_index.adoc:1751 #, 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:1748 +#: documentation/content/en/articles/committers-guide/_index.adoc:1755 #, 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:1750 +#: documentation/content/en/articles/committers-guide/_index.adoc:1757 #, 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:1753 +#: documentation/content/en/articles/committers-guide/_index.adoc:1759 +#, no-wrap +msgid "Many developers use `git pull --rebase` to avoid this situation.\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/committers-guide/_index.adoc:1762 #, 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:1758 +#: documentation/content/en/articles/committers-guide/_index.adoc:1767 #, 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:1762 +#: documentation/content/en/articles/committers-guide/_index.adoc:1771 #, 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:1766 -msgid "git reset --hard HEAD^2" +#: documentation/content/en/articles/committers-guide/_index.adoc:1775 +msgid "git reset --hard HEAD^1" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/committers-guide/_index.adoc:1778 +#, no-wrap +msgid "In addition, a `git pull --rebase` at this stage will rebase your changes to 'main' to the latest 'freebsd/main'.\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1769 +#: documentation/content/en/articles/committers-guide/_index.adoc:1780 #, 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:1772 +#: documentation/content/en/articles/committers-guide/_index.adoc:1783 #, 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:1776 +#: documentation/content/en/articles/committers-guide/_index.adoc:1787 msgid "git branch -f main freebsd/main" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1781 +#: documentation/content/en/articles/committers-guide/_index.adoc:1792 #, 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:1782 +#: documentation/content/en/articles/committers-guide/_index.adoc:1793 #, no-wrap msgid "Mixing and matching branches" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1786 +#: documentation/content/en/articles/committers-guide/_index.adoc:1797 #, 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:1788 +#: documentation/content/en/articles/committers-guide/_index.adoc:1799 #, no-wrap msgid "**A:** This is a job for cherry pick.\n" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:1794 +#: documentation/content/en/articles/committers-guide/_index.adoc:1805 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:1799 +#: documentation/content/en/articles/committers-guide/_index.adoc:1810 #, 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:1801 +#: documentation/content/en/articles/committers-guide/_index.adoc:1812 #, 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:1804 +#: documentation/content/en/articles/committers-guide/_index.adoc:1815 #, 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:1810 +#: documentation/content/en/articles/committers-guide/_index.adoc:1821 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:1815 +#: documentation/content/en/articles/committers-guide/_index.adoc:1826 #, 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:1819 +#: documentation/content/en/articles/committers-guide/_index.adoc:1830 msgid "% git rebase -i main kernel" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1822 +#: documentation/content/en/articles/committers-guide/_index.adoc:1833 #, 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:1826 +#: documentation/content/en/articles/committers-guide/_index.adoc:1837 msgid "% git rebase -i main userland" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1829 +#: documentation/content/en/articles/committers-guide/_index.adoc:1840 #, 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:1832 +#: documentation/content/en/articles/committers-guide/_index.adoc:1843 #, 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:1835 +#: documentation/content/en/articles/committers-guide/_index.adoc:1846 #, 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:1841 +#: documentation/content/en/articles/committers-guide/_index.adoc:1852 msgid "% git checkout kernel % git log driver % git cherry-pick $HASH" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1847 +#: documentation/content/en/articles/committers-guide/_index.adoc:1858 #, 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:1850 +#: documentation/content/en/articles/committers-guide/_index.adoc:1861 #, 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:1855 +#: documentation/content/en/articles/committers-guide/_index.adoc:1866 #, 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:1859 +#: documentation/content/en/articles/committers-guide/_index.adoc:1870 msgid "% git reset HEAD^" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1862 +#: documentation/content/en/articles/committers-guide/_index.adoc:1873 #, 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:1866 +#: documentation/content/en/articles/committers-guide/_index.adoc:1877 #, 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:1869 +#: documentation/content/en/articles/committers-guide/_index.adoc:1880 #, 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:1873 +#: documentation/content/en/articles/committers-guide/_index.adoc:1884 msgid "git add -i foo/bar.c" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1879 +#: documentation/content/en/articles/committers-guide/_index.adoc:1890 #, 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:1891 +#, no-wrap +msgid "Joining the FreeBSD GitHub oranization." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/committers-guide/_index.adoc:1894 +#, no-wrap +msgid "**Q:** How do I join the FreeBSD GitHub organization?\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/committers-guide/_index.adoc:1898 +#, no-wrap +msgid "" +"**A:** Please see https://wiki.freebsd.org/GitHub#Joining_the_Organisation[our GitHub Wiki Info] page for details.\n" +"Briefly, all FreeBSD committers may join.\n" +"Those who are not committers who request joining will be considered on a case by case basis.\n" +msgstr "" + #. type: Title ==== -#: documentation/content/en/articles/committers-guide/_index.adoc:1880 +#: documentation/content/en/articles/committers-guide/_index.adoc:1899 #, no-wrap msgid "Cloning and Mirroring" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1883 +#: documentation/content/en/articles/committers-guide/_index.adoc:1902 #, 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:1885 +#: documentation/content/en/articles/committers-guide/_index.adoc:1904 #, 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:1889 +#: documentation/content/en/articles/committers-guide/_index.adoc:1908 msgid "% git clone --mirror $URL" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1893 +#: documentation/content/en/articles/committers-guide/_index.adoc:1912 #, 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:1897 +#: documentation/content/en/articles/committers-guide/_index.adoc:1916 #, 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:1905 +#: documentation/content/en/articles/committers-guide/_index.adoc:1924 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:1908 +#: documentation/content/en/articles/committers-guide/_index.adoc:1927 #, 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:1911 +#: documentation/content/en/articles/committers-guide/_index.adoc:1930 #, 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:1913 +#: documentation/content/en/articles/committers-guide/_index.adoc:1932 #, no-wrap msgid "**Q:** So what can I do instead?\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1916 +#: documentation/content/en/articles/committers-guide/_index.adoc:1935 #, 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:1920 +#: documentation/content/en/articles/committers-guide/_index.adoc:1939 #, no-wrap msgid " fetch = +refs/heads/*:refs/remotes/freebsd/*\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1923 +#: documentation/content/en/articles/committers-guide/_index.adoc:1942 #, no-wrap msgid "which says just fetch the branch refs.\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1927 +#: documentation/content/en/articles/committers-guide/_index.adoc:1946 #, 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:1931 +#: documentation/content/en/articles/committers-guide/_index.adoc:1950 msgid "git config --add remote.freebsd.fetch '+refs/*:refs/freebsd/*'" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1935 +#: documentation/content/en/articles/committers-guide/_index.adoc:1954 #, 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:1937 +#: documentation/content/en/articles/committers-guide/_index.adoc:1956 #, 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:1941 +#: documentation/content/en/articles/committers-guide/_index.adoc:1960 msgid "git log refs/freebsd/vendor/zlib/1.2.10" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1944 +#: documentation/content/en/articles/committers-guide/_index.adoc:1963 #, 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:1945 +#: documentation/content/en/articles/committers-guide/_index.adoc:1964 #, no-wrap msgid "Collaborating with others" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1949 +#: documentation/content/en/articles/committers-guide/_index.adoc:1968 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:1951 +#: documentation/content/en/articles/committers-guide/_index.adoc:1970 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:1954 +#: documentation/content/en/articles/committers-guide/_index.adoc:1973 msgid "" "Before you begin, make sure that your local Git repo is up to date and has " "the correct origins set crossref:committers-guide[keeping_current,as shown " "above]." msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1961 +#: documentation/content/en/articles/committers-guide/_index.adoc:1980 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:1964 +#: documentation/content/en/articles/committers-guide/_index.adoc:1983 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:1967 +#: documentation/content/en/articles/committers-guide/_index.adoc:1986 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:1974 +#: documentation/content/en/articles/committers-guide/_index.adoc:1993 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:1977 +#: documentation/content/en/articles/committers-guide/_index.adoc:1996 #, no-wrap msgid "" "With this in place you can create a branch\n" "crossref:committers-guide[keeping_a_local_branch,as shown above].\n" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:1981 +#: documentation/content/en/articles/committers-guide/_index.adoc:2000 msgid "% git checkout -b gnn-pr2001-fix" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:1985 +#: documentation/content/en/articles/committers-guide/_index.adoc:2004 #, 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:1991 +#: documentation/content/en/articles/committers-guide/_index.adoc:2010 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:1993 +#: documentation/content/en/articles/committers-guide/_index.adoc:2012 #, 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:1996 +#: documentation/content/en/articles/committers-guide/_index.adoc:2015 #, 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:2012 +#: documentation/content/en/articles/committers-guide/_index.adoc:2031 #, 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:2014 +#: documentation/content/en/articles/committers-guide/_index.adoc:2033 #, 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:2017 +#: documentation/content/en/articles/committers-guide/_index.adoc:2036 #, 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:2030 +#: documentation/content/en/articles/committers-guide/_index.adoc:2049 #, 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:2034 +#: documentation/content/en/articles/committers-guide/_index.adoc:2053 #, 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:2036 +#: documentation/content/en/articles/committers-guide/_index.adoc:2055 #, no-wrap msgid "[[github-pull-land]]\n" msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:2036 +#: documentation/content/en/articles/committers-guide/_index.adoc:2055 #, no-wrap msgid "Landing a github pull request" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2041 +#: documentation/content/en/articles/committers-guide/_index.adoc:2060 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:2046 +#: documentation/content/en/articles/committers-guide/_index.adoc:2065 msgid "" "Before beginning, make sure that the local Git repo is up to date and has " "the correct origins set crossref:committers-guide[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:2052 +#: documentation/content/en/articles/committers-guide/_index.adoc:2071 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:2072 +#: documentation/content/en/articles/committers-guide/_index.adoc:2091 #, 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:2074 +#: documentation/content/en/articles/committers-guide/_index.adoc:2093 #, 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:2078 +#: documentation/content/en/articles/committers-guide/_index.adoc:2097 #, 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:2090 +#: documentation/content/en/articles/committers-guide/_index.adoc:2109 msgid "" "% git fetch github pull/$PR/head:staging % git rebase -i main staging\t# to " "move the staging branch forward, adjust commit message here % 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 " " % git push freebsd --push-option=confirm-author" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2095 +#: documentation/content/en/articles/committers-guide/_index.adoc:2114 #, 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:2103 +#: documentation/content/en/articles/committers-guide/_index.adoc:2122 #, 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:2108 +#: documentation/content/en/articles/committers-guide/_index.adoc:2127 #, 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:2110 +#: documentation/content/en/articles/committers-guide/_index.adoc:2129 #, no-wrap msgid "[[vcs-history]]\n" msgstr "" #. type: Title == -#: documentation/content/en/articles/committers-guide/_index.adoc:2110 +#: documentation/content/en/articles/committers-guide/_index.adoc:2129 #, no-wrap msgid "Version Control History" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2113 +#: documentation/content/en/articles/committers-guide/_index.adoc:2132 msgid "The project has moved to crossref:committers-guide[git-primer,git]." msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2119 +#: documentation/content/en/articles/committers-guide/_index.adoc:2138 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:2125 +#: documentation/content/en/articles/committers-guide/_index.adoc:2144 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:2131 +#: documentation/content/en/articles/committers-guide/_index.adoc:2150 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:2133 +#: documentation/content/en/articles/committers-guide/_index.adoc:2152 msgid "[[conventions]]" msgstr "" #. type: Title == -#: documentation/content/en/articles/committers-guide/_index.adoc:2133 +#: documentation/content/en/articles/committers-guide/_index.adoc:2152 #, no-wrap msgid "Setup, Conventions, and Traditions" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2138 +#: documentation/content/en/articles/committers-guide/_index.adoc:2157 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:2140 +#: documentation/content/en/articles/committers-guide/_index.adoc:2159 msgid "[[conventions-committers]]" msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:2140 +#: documentation/content/en/articles/committers-guide/_index.adoc:2159 #, no-wrap msgid "For New Committers" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2143 +#: documentation/content/en/articles/committers-guide/_index.adoc:2162 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:2146 +#: documentation/content/en/articles/committers-guide/_index.adoc:2165 #, 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:2151 +#: documentation/content/en/articles/committers-guide/_index.adoc:2170 #, 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:2198 +#: documentation/content/en/articles/committers-guide/_index.adoc:2217 #, 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-.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 crossref:committers-guide[kerberos-ldap, Kerberos and LDAP web Password for FreeBSD Cluster] 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:2200 +#: documentation/content/en/articles/committers-guide/_index.adoc:2219 #, no-wrap msgid "[[conventions-everyone]]\n" msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:2200 +#: documentation/content/en/articles/committers-guide/_index.adoc:2219 #, no-wrap msgid "For Everyone" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2220 +#: documentation/content/en/articles/committers-guide/_index.adoc:2239 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:2222 +#: documentation/content/en/articles/committers-guide/_index.adoc:2241 msgid "[[smtp-setup]]" msgstr "" #. type: Title ==== -#: documentation/content/en/articles/committers-guide/_index.adoc:2222 +#: documentation/content/en/articles/committers-guide/_index.adoc:2241 #, no-wrap msgid "SMTP Access Setup" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2225 +#: documentation/content/en/articles/committers-guide/_index.adoc:2244 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:2247 +#: documentation/content/en/articles/committers-guide/_index.adoc:2266 #, no-wrap msgid "" "[.procedure]\n" "====\n" ". Point your mail client at `smtp.FreeBSD.org:587`.\n" ". Enable STARTTLS.\n" ". Ensure your `From:` address is set to `_yourusername_@FreeBSD.org`.\n" ". For authentication, you can use your FreeBSD Kerberos username and password\n" " (see crossref:committers-guide[kerberos-ldap, Kerberos and LDAP web Password for FreeBSD Cluster]). The `_yourusername_/mail` principal is preferred, as it is only valid for authenticating to mail resources.\n" "+\n" "[NOTE]\n" "======\n" "Do not include `@FreeBSD.org` when entering in your username.\n" "======\n" "+\n" ".Additional Notes\n" "[NOTE]\n" "======\n" "* Will only accept mail from `_yourusername_@FreeBSD.org`. If you are authenticated as one user, you are not permitted to send mail from another.\n" "* A header will be appended with the SASL username: (`Authenticated sender: _username_`).\n" "* Host has various rate limits in place to cut down on brute force attempts.\n" "======\n" "====\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2249 +#: documentation/content/en/articles/committers-guide/_index.adoc:2268 #, no-wrap msgid "[[smtp-setup-local-mta]]\n" msgstr "" #. type: Title ===== -#: documentation/content/en/articles/committers-guide/_index.adoc:2249 +#: documentation/content/en/articles/committers-guide/_index.adoc:2268 #, 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:2252 +#: documentation/content/en/articles/committers-guide/_index.adoc:2271 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:2257 +#: documentation/content/en/articles/committers-guide/_index.adoc:2276 msgid "[[smtp-setup-local-postfix]] .Using Postfix [example] ====" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2259 +#: documentation/content/en/articles/committers-guide/_index.adoc:2278 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:2261 +#: documentation/content/en/articles/committers-guide/_index.adoc:2280 msgid "[.programlisting]" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2267 +#: documentation/content/en/articles/committers-guide/_index.adoc:2286 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:2270 +#: documentation/content/en/articles/committers-guide/_index.adoc:2289 #, 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:2272 -#: documentation/content/en/articles/committers-guide/_index.adoc:2279 -#: documentation/content/en/articles/committers-guide/_index.adoc:2286 -#: documentation/content/en/articles/committers-guide/_index.adoc:2294 -#: documentation/content/en/articles/committers-guide/_index.adoc:2309 -#: documentation/content/en/articles/committers-guide/_index.adoc:2319 -#: documentation/content/en/articles/committers-guide/_index.adoc:2333 -#: documentation/content/en/articles/committers-guide/_index.adoc:2364 +#: documentation/content/en/articles/committers-guide/_index.adoc:2291 +#: documentation/content/en/articles/committers-guide/_index.adoc:2298 +#: documentation/content/en/articles/committers-guide/_index.adoc:2305 +#: documentation/content/en/articles/committers-guide/_index.adoc:2313 +#: documentation/content/en/articles/committers-guide/_index.adoc:2328 +#: documentation/content/en/articles/committers-guide/_index.adoc:2338 +#: documentation/content/en/articles/committers-guide/_index.adoc:2352 +#: documentation/content/en/articles/committers-guide/_index.adoc:2383 #, no-wrap msgid "[.programlisting]\n" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2274 +#: documentation/content/en/articles/committers-guide/_index.adoc:2293 msgid "yourusername@FreeBSD.org [smtp.freebsd.org]:587" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2277 +#: documentation/content/en/articles/committers-guide/_index.adoc:2296 #, 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:2281 +#: documentation/content/en/articles/committers-guide/_index.adoc:2300 #, no-wrap msgid "[smtp.freebsd.org]:587 yourusername:yourpassword\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2284 +#: documentation/content/en/articles/committers-guide/_index.adoc:2303 #, 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:2289 +#: documentation/content/en/articles/committers-guide/_index.adoc:2308 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:2292 +#: documentation/content/en/articles/committers-guide/_index.adoc:2311 #, 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:2296 +#: documentation/content/en/articles/committers-guide/_index.adoc:2315 msgid "yourusername@FreeBSD.org yourlocalusername" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2300 +#: documentation/content/en/articles/committers-guide/_index.adoc:2319 #, 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:2305 +#: documentation/content/en/articles/committers-guide/_index.adoc:2324 #, 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:2307 +#: documentation/content/en/articles/committers-guide/_index.adoc:2326 #, 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:2312 +#: documentation/content/en/articles/committers-guide/_index.adoc:2331 msgid "" "action \"freebsd\" relay host smtp+tls://freebsd@smtp.freebsd.org:587 auth " " 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:2315 +#: documentation/content/en/articles/committers-guide/_index.adoc:2334 #, 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:2317 +#: documentation/content/en/articles/committers-guide/_index.adoc:2336 #, 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:2321 +#: documentation/content/en/articles/committers-guide/_index.adoc:2340 msgid "freebsd\tyourusername:yourpassword" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2328 +#: documentation/content/en/articles/committers-guide/_index.adoc:2347 #, 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:2331 +#: documentation/content/en/articles/committers-guide/_index.adoc:2350 #, 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:2340 +#: documentation/content/en/articles/committers-guide/_index.adoc:2359 #, 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:2352 +#: documentation/content/en/articles/committers-guide/_index.adoc:2371 #, no-wrap msgid "" "Transport Section:\n" "freebsd_smtp:\n" " driver = smtp\n" " tls_certificate=\n" " tls_privatekey=\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 = \n" " dkim_selector = \n" " 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:2359 +#: documentation/content/en/articles/committers-guide/_index.adoc:2378 #, no-wrap msgid "" "Authenticators:\n" "freebsd_plain:\n" " driver = plaintext\n" " public_name = PLAIN\n" " client_send = ^example/mail^examplePassword\n" " client_condition = ${if eq{$host}{smtp.freebsd.org}}\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2362 +#: documentation/content/en/articles/committers-guide/_index.adoc:2381 #, 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:2366 +#: documentation/content/en/articles/committers-guide/_index.adoc:2385 msgid "example@freebsd.org:smtp.freebsd.org::587" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2369 +#: documentation/content/en/articles/committers-guide/_index.adoc:2388 #, no-wrap msgid "====\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2371 +#: documentation/content/en/articles/committers-guide/_index.adoc:2390 #, no-wrap msgid "[[mentors]]\n" msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:2371 +#: documentation/content/en/articles/committers-guide/_index.adoc:2390 #, no-wrap msgid "Mentors" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2376 +#: documentation/content/en/articles/committers-guide/_index.adoc:2395 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:2379 +#: documentation/content/en/articles/committers-guide/_index.adoc:2398 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:2384 +#: documentation/content/en/articles/committers-guide/_index.adoc:2403 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 crossref:committers-guide[admin-branch, \"admin\" branch]." msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2386 +#: documentation/content/en/articles/committers-guide/_index.adoc:2405 msgid "[[pre-commit-review]]" msgstr "" #. type: Title == -#: documentation/content/en/articles/committers-guide/_index.adoc:2386 +#: documentation/content/en/articles/committers-guide/_index.adoc:2405 #, no-wrap msgid "Pre-Commit Review" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2391 +#: documentation/content/en/articles/committers-guide/_index.adoc:2410 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:2397 +#: documentation/content/en/articles/committers-guide/_index.adoc:2416 #, 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:2399 +#: documentation/content/en/articles/committers-guide/_index.adoc:2418 #, 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:2406 +#: documentation/content/en/articles/committers-guide/_index.adoc:2425 #, 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:2411 +#: documentation/content/en/articles/committers-guide/_index.adoc:2430 #, 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:2414 +#: documentation/content/en/articles/committers-guide/_index.adoc:2433 #, 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:2416 +#: documentation/content/en/articles/committers-guide/_index.adoc:2435 #, no-wrap msgid "[[commit-log-message]]\n" msgstr "" #. type: Title == -#: documentation/content/en/articles/committers-guide/_index.adoc:2416 +#: documentation/content/en/articles/committers-guide/_index.adoc:2435 #, no-wrap msgid "Commit Log Messages" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2419 +#: documentation/content/en/articles/committers-guide/_index.adoc:2438 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:2420 +#: documentation/content/en/articles/committers-guide/_index.adoc:2439 #, no-wrap msgid "Why are commit messages important?" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2424 +#: documentation/content/en/articles/committers-guide/_index.adoc:2443 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:2427 +#: documentation/content/en/articles/committers-guide/_index.adoc:2446 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:2430 +#: documentation/content/en/articles/committers-guide/_index.adoc:2449 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:2432 +#: documentation/content/en/articles/committers-guide/_index.adoc:2451 msgid "Commit messages serve at least three purposes:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2439 +#: documentation/content/en/articles/committers-guide/_index.adoc:2458 #, 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:2445 +#: documentation/content/en/articles/committers-guide/_index.adoc:2464 #, 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:2451 +#: documentation/content/en/articles/committers-guide/_index.adoc:2470 #, 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:2453 +#: documentation/content/en/articles/committers-guide/_index.adoc:2472 #, 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:2455 +#: documentation/content/en/articles/committers-guide/_index.adoc:2474 #, 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:2456 +#: documentation/content/en/articles/committers-guide/_index.adoc:2475 #, no-wrap msgid "Start with a subject line" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2460 +#: documentation/content/en/articles/committers-guide/_index.adoc:2479 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:2461 +#: documentation/content/en/articles/committers-guide/_index.adoc:2480 #, no-wrap msgid "Keep subject lines short" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2466 +#: documentation/content/en/articles/committers-guide/_index.adoc:2485 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:2467 +#: documentation/content/en/articles/committers-guide/_index.adoc:2486 #, 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:2470 +#: documentation/content/en/articles/committers-guide/_index.adoc:2489 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:2472 +#: documentation/content/en/articles/committers-guide/_index.adoc:2491 msgid "✓ `foo: Add -k option to keep temporary data`" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2474 +#: documentation/content/en/articles/committers-guide/_index.adoc:2493 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:2475 +#: documentation/content/en/articles/committers-guide/_index.adoc:2494 #, no-wrap msgid "Capitalize the first letter of the subject" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2479 +#: documentation/content/en/articles/committers-guide/_index.adoc:2498 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:2480 +#: documentation/content/en/articles/committers-guide/_index.adoc:2499 #, no-wrap msgid "Do not end the subject line with punctuation" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2484 +#: documentation/content/en/articles/committers-guide/_index.adoc:2503 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:2485 +#: documentation/content/en/articles/committers-guide/_index.adoc:2504 #, 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:2488 +#: documentation/content/en/articles/committers-guide/_index.adoc:2507 msgid "Separate the body from the subject with a blank line." msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2490 +#: documentation/content/en/articles/committers-guide/_index.adoc:2509 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:2492 +#: documentation/content/en/articles/committers-guide/_index.adoc:2511 msgid "✓ `ls: Fix typo in usage text`" msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:2493 +#: documentation/content/en/articles/committers-guide/_index.adoc:2512 #, no-wrap msgid "Limit messages to 72 columns" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2499 +#: documentation/content/en/articles/committers-guide/_index.adoc:2518 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:2500 +#: documentation/content/en/articles/committers-guide/_index.adoc:2519 #, no-wrap msgid "Use the present tense, imperative mood" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2505 +#: documentation/content/en/articles/committers-guide/_index.adoc:2524 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:2510 +#: documentation/content/en/articles/committers-guide/_index.adoc:2529 #, 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:2511 +#: documentation/content/en/articles/committers-guide/_index.adoc:2530 #, no-wrap msgid "Focus on what and why, not how" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2514 +#: documentation/content/en/articles/committers-guide/_index.adoc:2533 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:2518 +#: documentation/content/en/articles/committers-guide/_index.adoc:2537 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:2520 +#: documentation/content/en/articles/committers-guide/_index.adoc:2539 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:2521 +#: documentation/content/en/articles/committers-guide/_index.adoc:2540 #, 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:2524 +#: documentation/content/en/articles/committers-guide/_index.adoc:2543 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:2525 +#: documentation/content/en/articles/committers-guide/_index.adoc:2544 #, no-wrap msgid "Write commit messages for your future self" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2529 +#: documentation/content/en/articles/committers-guide/_index.adoc:2548 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:2530 +#: documentation/content/en/articles/committers-guide/_index.adoc:2549 #, no-wrap msgid "Commit messages should stand alone" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2534 +#: documentation/content/en/articles/committers-guide/_index.adoc:2553 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:2538 +#: documentation/content/en/articles/committers-guide/_index.adoc:2557 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:2539 +#: documentation/content/en/articles/committers-guide/_index.adoc:2558 #, no-wrap msgid "Include appropriate metadata in a footer" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2542 +#: documentation/content/en/articles/committers-guide/_index.adoc:2561 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:2544 +#: documentation/content/en/articles/committers-guide/_index.adoc:2563 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:2546 +#: documentation/content/en/articles/committers-guide/_index.adoc:2565 msgid "" "For key words where multiple values make sense (e.g., `PR:` with a comma-" "separated list of PRs), it is permitted to use the same keyword multiple " "times to avoid ambiguity or improve readability." msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2548 +#: documentation/content/en/articles/committers-guide/_index.adoc:2567 msgid "The key words or phrases are:" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2553 +#: documentation/content/en/articles/committers-guide/_index.adoc:2572 #, no-wrap msgid "" "[.informaltable]\n" "[cols=\"20%,80%\", frame=\"none\"]" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2554 +#: documentation/content/en/articles/committers-guide/_index.adoc:2573 #, no-wrap msgid "`PR:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2556 +#: documentation/content/en/articles/committers-guide/_index.adoc:2575 #, 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:2557 +#: documentation/content/en/articles/committers-guide/_index.adoc:2576 #, no-wrap msgid "`Reported by:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2561 +#: documentation/content/en/articles/committers-guide/_index.adoc:2580 #, 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:2563 +#: documentation/content/en/articles/committers-guide/_index.adoc:2582 #, no-wrap msgid "" "`Submitted by:` +\n" "(deprecated)" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2565 +#: documentation/content/en/articles/committers-guide/_index.adoc:2584 #, 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:2566 +#: documentation/content/en/articles/committers-guide/_index.adoc:2585 #, no-wrap msgid "`Reviewed by:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2581 +#: documentation/content/en/articles/committers-guide/_index.adoc:2600 #, 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 (maintainer)\n" "...." msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2582 +#: documentation/content/en/articles/committers-guide/_index.adoc:2601 #, no-wrap msgid "`Tested by:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2584 +#: documentation/content/en/articles/committers-guide/_index.adoc:2603 #, 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:2585 +#: documentation/content/en/articles/committers-guide/_index.adoc:2604 #, no-wrap msgid "`Discussed with:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2588 +#: documentation/content/en/articles/committers-guide/_index.adoc:2607 #, no-wrap msgid "" "The name and e-mail address of the person or people that contributed to the patch by providing meaningful feedback; for developers, just the username on the FreeBSD cluster.\n" "Typically used to credit those who did not explicitly review, test, or approve the change, but nevertheless contributed to the discussion surrounding the change, which led to improvements and a better understanding of its impact on the FreeBSD project." msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2589 +#: documentation/content/en/articles/committers-guide/_index.adoc:2608 #, no-wrap msgid "`Approved by:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2615 +#: documentation/content/en/articles/committers-guide/_index.adoc:2634 #, 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:2616 +#: documentation/content/en/articles/committers-guide/_index.adoc:2635 #, no-wrap msgid "`Obtained from:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2618 +#: documentation/content/en/articles/committers-guide/_index.adoc:2637 #, 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:2619 +#: documentation/content/en/articles/committers-guide/_index.adoc:2638 #, no-wrap msgid "`Fixes:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2621 +#: documentation/content/en/articles/committers-guide/_index.adoc:2641 #, 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 --pretty=format:'%h (\"%s\")' GIT-COMMIT-HASH`." +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 --pretty=format:'%h (\"%s\")' GIT-COMMIT-HASH`.\n" +"We include the commit title so that the referenced commit can be located even in the case that a future VCS migration invalidates hash references." msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2622 +#: documentation/content/en/articles/committers-guide/_index.adoc:2642 #, no-wrap msgid "`MFC after:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2624 +#: documentation/content/en/articles/committers-guide/_index.adoc:2644 #, 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:2625 +#: documentation/content/en/articles/committers-guide/_index.adoc:2645 #, no-wrap msgid "`MFC to:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2627 +#: documentation/content/en/articles/committers-guide/_index.adoc:2647 #, 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:2628 +#: documentation/content/en/articles/committers-guide/_index.adoc:2648 #, no-wrap msgid "`MFH:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2630 +#: documentation/content/en/articles/committers-guide/_index.adoc:2650 #, 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:2631 +#: documentation/content/en/articles/committers-guide/_index.adoc:2651 #, no-wrap msgid "`Relnotes:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2633 +#: documentation/content/en/articles/committers-guide/_index.adoc:2653 #, 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:2634 +#: documentation/content/en/articles/committers-guide/_index.adoc:2654 #, no-wrap msgid "`Security:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2636 +#: documentation/content/en/articles/committers-guide/_index.adoc:2656 #, 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:2637 +#: documentation/content/en/articles/committers-guide/_index.adoc:2657 #, no-wrap msgid "`Event:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2639 +#: documentation/content/en/articles/committers-guide/_index.adoc:2659 #, 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:2640 +#: documentation/content/en/articles/committers-guide/_index.adoc:2660 #, no-wrap msgid "`Sponsored by:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2642 +#: documentation/content/en/articles/committers-guide/_index.adoc:2662 #, 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:2643 +#: documentation/content/en/articles/committers-guide/_index.adoc:2663 #, no-wrap msgid "`Pull Request:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2647 +#: documentation/content/en/articles/committers-guide/_index.adoc:2667 #, 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:2648 +#: documentation/content/en/articles/committers-guide/_index.adoc:2668 #, no-wrap msgid "`Co-authored-by:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2651 +#: documentation/content/en/articles/committers-guide/_index.adoc:2671 #, 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:2652 +#: documentation/content/en/articles/committers-guide/_index.adoc:2672 #, no-wrap msgid "`Signed-off-by:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2654 +#: documentation/content/en/articles/committers-guide/_index.adoc:2674 #, no-wrap msgid "ID certifies compliance with https://developercertificate.org/" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2655 +#: documentation/content/en/articles/committers-guide/_index.adoc:2675 #, no-wrap msgid "`Differential Revision:`" msgstr "" #. type: Table -#: documentation/content/en/articles/committers-guide/_index.adoc:2657 +#: documentation/content/en/articles/committers-guide/_index.adoc:2677 #, 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:2659 +#: documentation/content/en/articles/committers-guide/_index.adoc:2679 #, 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:2665 +#: documentation/content/en/articles/committers-guide/_index.adoc:2685 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:2669 -#: documentation/content/en/articles/committers-guide/_index.adoc:2687 -#: documentation/content/en/articles/committers-guide/_index.adoc:2702 -#: documentation/content/en/articles/committers-guide/_index.adoc:2718 -#: documentation/content/en/articles/committers-guide/_index.adoc:2733 +#: documentation/content/en/articles/committers-guide/_index.adoc:2689 +#: documentation/content/en/articles/committers-guide/_index.adoc:2707 +#: documentation/content/en/articles/committers-guide/_index.adoc:2722 +#: documentation/content/en/articles/committers-guide/_index.adoc:2738 +#: documentation/content/en/articles/committers-guide/_index.adoc:2753 #, no-wrap msgid "...\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2671 +#: documentation/content/en/articles/committers-guide/_index.adoc:2691 #, no-wrap msgid "PR:\t\t12345\n" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2674 +#: documentation/content/en/articles/committers-guide/_index.adoc:2694 msgid "" "The committer sets the author of the patch with `git commit --author \"John " "Smith \"`." msgstr "" #. type: Block title -#: documentation/content/en/articles/committers-guide/_index.adoc:2677 +#: documentation/content/en/articles/committers-guide/_index.adoc:2697 #, no-wrap msgid "Commit Log for a Commit Needing Review" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2683 +#: documentation/content/en/articles/committers-guide/_index.adoc:2703 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:2689 +#: documentation/content/en/articles/committers-guide/_index.adoc:2709 #, no-wrap msgid "Reviewed by:\t-arch\n" msgstr "" #. type: Block title -#: documentation/content/en/articles/committers-guide/_index.adoc:2693 +#: documentation/content/en/articles/committers-guide/_index.adoc:2713 #, no-wrap msgid "Commit Log for a Commit Needing Approval" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2698 +#: documentation/content/en/articles/committers-guide/_index.adoc:2718 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:2704 +#: documentation/content/en/articles/committers-guide/_index.adoc:2724 #, no-wrap msgid "Approved by:\tabc (maintainer)\n" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2707 +#: documentation/content/en/articles/committers-guide/_index.adoc:2727 msgid "Where _abc_ is the account name of the person who approved." msgstr "" #. type: Block title -#: documentation/content/en/articles/committers-guide/_index.adoc:2709 +#: documentation/content/en/articles/committers-guide/_index.adoc:2729 #, 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:2714 +#: documentation/content/en/articles/committers-guide/_index.adoc:2734 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:2720 +#: documentation/content/en/articles/committers-guide/_index.adoc:2740 #, no-wrap msgid "Obtained from:\tOpenBSD\n" msgstr "" #. type: Block title -#: documentation/content/en/articles/committers-guide/_index.adoc:2724 +#: documentation/content/en/articles/committers-guide/_index.adoc:2744 #, 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:2729 +#: documentation/content/en/articles/committers-guide/_index.adoc:2749 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:2735 +#: documentation/content/en/articles/committers-guide/_index.adoc:2755 #, no-wrap msgid "MFC after:\t2 weeks\n" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2738 +#: documentation/content/en/articles/committers-guide/_index.adoc:2758 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:2741 +#: documentation/content/en/articles/committers-guide/_index.adoc:2761 msgid "It is often necessary to combine these." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2745 +#: documentation/content/en/articles/committers-guide/_index.adoc:2765 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:2747 +#: documentation/content/en/articles/committers-guide/_index.adoc:2767 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:2748 +#: documentation/content/en/articles/committers-guide/_index.adoc:2768 #, no-wrap msgid "Example Combined Commit Log" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2759 +#: documentation/content/en/articles/committers-guide/_index.adoc:2779 #, 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:2764 +#: documentation/content/en/articles/committers-guide/_index.adoc:2784 #, no-wrap msgid "Preferred License for New Files" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2770 +#: documentation/content/en/articles/committers-guide/_index.adoc:2790 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:2772 +#: documentation/content/en/articles/committers-guide/_index.adoc:2792 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:2803 +#: documentation/content/en/articles/committers-guide/_index.adoc:2823 #, 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:2809 +#: documentation/content/en/articles/committers-guide/_index.adoc:2829 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:2813 +#: documentation/content/en/articles/committers-guide/_index.adoc:2833 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:2817 +#: documentation/content/en/articles/committers-guide/_index.adoc:2837 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:2820 +#: documentation/content/en/articles/committers-guide/_index.adoc:2840 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:2822 +#: documentation/content/en/articles/committers-guide/_index.adoc:2842 #, no-wrap msgid "Keeping Track of Licenses Granted to the FreeBSD Project" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2827 +#: documentation/content/en/articles/committers-guide/_index.adoc:2847 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:2832 +#: documentation/content/en/articles/committers-guide/_index.adoc:2852 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:2834 +#: documentation/content/en/articles/committers-guide/_index.adoc:2854 msgid "" "Contact details for people or organizations granting the special license." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2835 +#: documentation/content/en/articles/committers-guide/_index.adoc:2855 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:2836 +#: documentation/content/en/articles/committers-guide/_index.adoc:2856 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:2837 +#: documentation/content/en/articles/committers-guide/_index.adoc:2857 msgid "The license text." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2838 +#: documentation/content/en/articles/committers-guide/_index.adoc:2858 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:2839 +#: documentation/content/en/articles/committers-guide/_index.adoc:2859 msgid "Any other relevant information." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2842 +#: documentation/content/en/articles/committers-guide/_index.adoc:2862 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:2845 +#: documentation/content/en/articles/committers-guide/_index.adoc:2865 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:2847 +#: documentation/content/en/articles/committers-guide/_index.adoc:2867 #, no-wrap msgid "SPDX Tags in the tree" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2858 +#: documentation/content/en/articles/committers-guide/_index.adoc:2878 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/v2.2.2/[SPDX Specification, Version 2.2]. How to mark source files and " "valid algebraic expressions are found in https://spdx.github.io/spdx-spec/" "v2.2.2/SPDX-license-expressions/[Annex D] and https://spdx.github.io/spdx-" "spec/v2.2.2/using-SPDX-short-identifiers-in-source-files/[Annex E]. 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:2860 +#: documentation/content/en/articles/committers-guide/_index.adoc:2880 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:2861 +#: documentation/content/en/articles/committers-guide/_index.adoc:2881 #, no-wrap msgid "Developer Relations" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2867 +#: documentation/content/en/articles/committers-guide/_index.adoc:2887 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:2871 +#: documentation/content/en/articles/committers-guide/_index.adoc:2891 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:2875 +#: documentation/content/en/articles/committers-guide/_index.adoc:2895 #, 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:2878 +#: documentation/content/en/articles/committers-guide/_index.adoc:2898 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:2883 +#: documentation/content/en/articles/committers-guide/_index.adoc:2903 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:2889 +#: documentation/content/en/articles/committers-guide/_index.adoc:2909 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:2893 +#: documentation/content/en/articles/committers-guide/_index.adoc:2913 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:2896 +#: documentation/content/en/articles/committers-guide/_index.adoc:2916 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:2902 +#: documentation/content/en/articles/committers-guide/_index.adoc:2922 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:2906 +#: documentation/content/en/articles/committers-guide/_index.adoc:2926 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:2908 +#: documentation/content/en/articles/committers-guide/_index.adoc:2928 #, no-wrap msgid "If in Doubt..." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2912 +#: documentation/content/en/articles/committers-guide/_index.adoc:2932 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:2916 +#: documentation/content/en/articles/committers-guide/_index.adoc:2936 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:2918 +#: documentation/content/en/articles/committers-guide/_index.adoc:2938 msgid "For project specific or administrative questions ask, in order:" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2920 +#: documentation/content/en/articles/committers-guide/_index.adoc:2940 msgid "Your mentor or former mentor." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2921 +#: documentation/content/en/articles/committers-guide/_index.adoc:2941 msgid "An experienced committer on IRC, email, etc." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2922 +#: documentation/content/en/articles/committers-guide/_index.adoc:2942 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:2923 +#: documentation/content/en/articles/committers-guide/_index.adoc:2943 msgid "If still not sure, ask on {developers-name}." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2925 +#: documentation/content/en/articles/committers-guide/_index.adoc:2945 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:2927 +#: documentation/content/en/articles/committers-guide/_index.adoc:2947 #, no-wrap msgid "Bugzilla" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2932 +#: documentation/content/en/articles/committers-guide/_index.adoc:2952 msgid "" "The FreeBSD Project utilizes Bugzilla for tracking bugs and change " "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:2934 +#: documentation/content/en/articles/committers-guide/_index.adoc:2954 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:2938 +#: documentation/content/en/articles/committers-guide/_index.adoc:2958 msgid "Log in using your old account." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2939 +#: documentation/content/en/articles/committers-guide/_index.adoc:2959 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:2941 +#: documentation/content/en/articles/committers-guide/_index.adoc:2961 msgid "" "Log in using `FreeBSD.org` account and post comment to newly opened bug to " "confirm ownership. See crossref:committers-guide[kerberos-ldap, Kerberos and " "LDAP web Password for FreeBSD Cluster] 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:2942 +#: documentation/content/en/articles/committers-guide/_index.adoc:2962 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:2945 +#: documentation/content/en/articles/committers-guide/_index.adoc:2965 msgid "You can find out more about Bugzilla at:" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2947 +#: documentation/content/en/articles/committers-guide/_index.adoc:2967 msgid "extref:{pr-guidelines}[FreeBSD Problem Report Handling Guidelines]" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2948 +#: documentation/content/en/articles/committers-guide/_index.adoc:2968 msgid "link:https://www.FreeBSD.org/support/[https://www.FreeBSD.org/support]" msgstr "" #. type: Title == -#: documentation/content/en/articles/committers-guide/_index.adoc:2950 +#: documentation/content/en/articles/committers-guide/_index.adoc:2970 #, no-wrap msgid "Phabricator" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2954 +#: documentation/content/en/articles/committers-guide/_index.adoc:2974 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:2956 +#: documentation/content/en/articles/committers-guide/_index.adoc:2976 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:2960 +#: documentation/content/en/articles/committers-guide/_index.adoc:2980 msgid "Change your Phabricator account email to your `FreeBSD.org` email." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:2962 +#: documentation/content/en/articles/committers-guide/_index.adoc:2982 msgid "" "Open new bug on our bug tracker using your `FreeBSD.org` account, see " "crossref:committers-guide[bugzilla, 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:2967 +#: documentation/content/en/articles/committers-guide/_index.adoc:2987 msgid "" "Phabricator accounts cannot be merged, please do not open a new account." msgstr "" #. type: Title == -#: documentation/content/en/articles/committers-guide/_index.adoc:2970 +#: documentation/content/en/articles/committers-guide/_index.adoc:2990 #, no-wrap msgid "Who's Who" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2973 +#: documentation/content/en/articles/committers-guide/_index.adoc:2993 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:2974 +#: documentation/content/en/articles/committers-guide/_index.adoc:2994 #, no-wrap msgid "`{doceng}`" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2980 +#: documentation/content/en/articles/committers-guide/_index.adoc:3000 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:2981 +#: documentation/content/en/articles/committers-guide/_index.adoc:3001 #, no-wrap msgid "`{re-members}`" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2986 +#: documentation/content/en/articles/committers-guide/_index.adoc:3006 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:2987 +#: documentation/content/en/articles/committers-guide/_index.adoc:3007 #, no-wrap msgid "`{so}`" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:2989 +#: documentation/content/en/articles/committers-guide/_index.adoc:3009 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:2994 +#: documentation/content/en/articles/committers-guide/_index.adoc:3014 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:2999 +#: documentation/content/en/articles/committers-guide/_index.adoc:3019 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:3003 +#: documentation/content/en/articles/committers-guide/_index.adoc:3023 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:3007 +#: documentation/content/en/articles/committers-guide/_index.adoc:3027 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:3013 +#: documentation/content/en/articles/committers-guide/_index.adoc:3033 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:3014 +#: documentation/content/en/articles/committers-guide/_index.adoc:3034 #, no-wrap msgid "SSH Quick-Start Guide" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3019 +#: documentation/content/en/articles/committers-guide/_index.adoc:3039 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:3020 +#: documentation/content/en/articles/committers-guide/_index.adoc:3040 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:3024 +#: documentation/content/en/articles/committers-guide/_index.adoc:3044 msgid "Only ECDSA, Ed25519 or RSA keys are supported." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3026 +#: documentation/content/en/articles/committers-guide/_index.adoc:3046 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:3031 +#: documentation/content/en/articles/committers-guide/_index.adoc:3051 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:3033 +#: documentation/content/en/articles/committers-guide/_index.adoc:3053 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:3035 +#: documentation/content/en/articles/committers-guide/_index.adoc:3055 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:3037 +#: documentation/content/en/articles/committers-guide/_index.adoc:3057 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:3039 +#: documentation/content/en/articles/committers-guide/_index.adoc:3059 #, no-wrap msgid "Coverity(R) Availability for FreeBSD Committers" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3043 +#: documentation/content/en/articles/committers-guide/_index.adoc:3063 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:3046 +#: documentation/content/en/articles/committers-guide/_index.adoc:3066 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:3048 +#: documentation/content/en/articles/committers-guide/_index.adoc:3068 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:3050 +#: documentation/content/en/articles/committers-guide/_index.adoc:3070 #, no-wrap msgid "The FreeBSD Committers' Big List of Rules" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3055 +#: documentation/content/en/articles/committers-guide/_index.adoc:3075 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:3057 -#: documentation/content/en/articles/committers-guide/_index.adoc:3087 +#: documentation/content/en/articles/committers-guide/_index.adoc:3077 +#: documentation/content/en/articles/committers-guide/_index.adoc:3107 msgid "Respect other committers." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3058 -#: documentation/content/en/articles/committers-guide/_index.adoc:3103 +#: documentation/content/en/articles/committers-guide/_index.adoc:3078 +#: documentation/content/en/articles/committers-guide/_index.adoc:3123 msgid "Respect other contributors." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3059 -#: documentation/content/en/articles/committers-guide/_index.adoc:3118 +#: documentation/content/en/articles/committers-guide/_index.adoc:3079 +#: documentation/content/en/articles/committers-guide/_index.adoc:3138 msgid "Discuss any significant change _before_ committing." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3060 +#: documentation/content/en/articles/committers-guide/_index.adoc:3080 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:3061 -#: documentation/content/en/articles/committers-guide/_index.adoc:3133 +#: documentation/content/en/articles/committers-guide/_index.adoc:3081 +#: documentation/content/en/articles/committers-guide/_index.adoc:3153 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:3062 +#: documentation/content/en/articles/committers-guide/_index.adoc:3082 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:3063 -#: documentation/content/en/articles/committers-guide/_index.adoc:3148 +#: documentation/content/en/articles/committers-guide/_index.adoc:3083 +#: documentation/content/en/articles/committers-guide/_index.adoc:3168 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:3064 +#: documentation/content/en/articles/committers-guide/_index.adoc:3084 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:3065 -#: documentation/content/en/articles/committers-guide/_index.adoc:3163 +#: documentation/content/en/articles/committers-guide/_index.adoc:3085 +#: documentation/content/en/articles/committers-guide/_index.adoc:3183 msgid "When in doubt on any procedure, ask first!" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3066 -#: documentation/content/en/articles/committers-guide/_index.adoc:3168 +#: documentation/content/en/articles/committers-guide/_index.adoc:3086 +#: documentation/content/en/articles/committers-guide/_index.adoc:3188 msgid "Test your changes before committing them." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3067 -#: documentation/content/en/articles/committers-guide/_index.adoc:3178 +#: documentation/content/en/articles/committers-guide/_index.adoc:3087 +#: documentation/content/en/articles/committers-guide/_index.adoc:3198 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:3078 +#: documentation/content/en/articles/committers-guide/_index.adoc:3098 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:3082 +#: documentation/content/en/articles/committers-guide/_index.adoc:3102 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:3083 +#: documentation/content/en/articles/committers-guide/_index.adoc:3103 #, no-wrap msgid "Details" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3091 +#: documentation/content/en/articles/committers-guide/_index.adoc:3111 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:3093 +#: documentation/content/en/articles/committers-guide/_index.adoc:3113 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:3099 +#: documentation/content/en/articles/committers-guide/_index.adoc:3119 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:3102 +#: documentation/content/en/articles/committers-guide/_index.adoc:3122 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:3115 +#: documentation/content/en/articles/committers-guide/_index.adoc:3135 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:3117 +#: documentation/content/en/articles/committers-guide/_index.adoc:3137 msgid "" "Consider the points raised under crossref:committers-guide[respect,Respect " "other committers] and apply them also to contributors." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3124 +#: documentation/content/en/articles/committers-guide/_index.adoc:3144 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:3126 +#: documentation/content/en/articles/committers-guide/_index.adoc:3146 msgid "When in doubt, ask for review!" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3127 +#: documentation/content/en/articles/committers-guide/_index.adoc:3147 msgid "Respect existing maintainers if listed." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3132 +#: documentation/content/en/articles/committers-guide/_index.adoc:3152 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:3138 +#: documentation/content/en/articles/committers-guide/_index.adoc:3158 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:3139 +#: documentation/content/en/articles/committers-guide/_index.adoc:3159 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:3145 +#: documentation/content/en/articles/committers-guide/_index.adoc:3165 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:3147 +#: documentation/content/en/articles/committers-guide/_index.adoc:3167 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:3158 +#: documentation/content/en/articles/committers-guide/_index.adoc:3178 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:3159 +#: documentation/content/en/articles/committers-guide/_index.adoc:3179 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:3162 +#: documentation/content/en/articles/committers-guide/_index.adoc:3182 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:3167 +#: documentation/content/en/articles/committers-guide/_index.adoc:3187 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:3177 +#: documentation/content/en/articles/committers-guide/_index.adoc:3197 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 crossref:committers-" -"guide[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." +"still compile userspace via `make buildworld`. 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 crossref:committers-guide[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:3180 +#: documentation/content/en/articles/committers-guide/_index.adoc:3200 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:3185 +#: documentation/content/en/articles/committers-guide/_index.adoc:3205 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:3189 +#: documentation/content/en/articles/committers-guide/_index.adoc:3209 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:3192 +#: documentation/content/en/articles/committers-guide/_index.adoc:3212 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:3193 +#: documentation/content/en/articles/committers-guide/_index.adoc:3213 #, no-wrap msgid "Policy on Multiple Architectures" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3197 +#: documentation/content/en/articles/committers-guide/_index.adoc:3216 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:" +"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:3201 +#: documentation/content/en/articles/committers-guide/_index.adoc:3219 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." +"Major design work (including major API and ABI changes) must prove itself on " +"at least one Tier 1 platform before it may be committed to the source tree." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3205 +#: documentation/content/en/articles/committers-guide/_index.adoc:3223 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:3207 +#: documentation/content/en/articles/committers-guide/_index.adoc:3225 #, no-wrap msgid "Policy on Multiple Compilers" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3221 +#: documentation/content/en/articles/committers-guide/_index.adoc:3239 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 unduly increasing the testing matrix. Older " -"and obscure compilers, as well as older dialects of the languages, 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." +"The FreeBSD base system 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 unduly increasing the testing " +"matrix. Older and obscure compilers, as well as older dialects of the " +"languages, 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:3226 +#: documentation/content/en/articles/committers-guide/_index.adoc:3244 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 " +"The FreeBSD base system includes 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:3234 +#: documentation/content/en/articles/committers-guide/_index.adoc:3259 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." +"The FreeBSD base system also supports various versions of Clang and GCC as " +"out-of-tree compilers. For large or risky changes, committers should do a " +"test build with a supported version of GCC. Out of tree compilers are " +"available as packages. GCC compilers are available as `${TARGET_ARCH}-gcc$" +"{VERSION}` packages, such as package:devel/freebsd-gcc14@aarch64[aarch64-" +"gcc14]. Clang compilers are available as `llvm${VERSION}` packages, such as " +"package:devel/llvm18[llvm18]. 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 builds of userspace or " +"individual kernels by setting `CROSS_TOOLCHAIN` to the package name, for " +"example `CROSS_TOOLCHAIN=aarch64-gcc14` or `CROSS_TOOLCHAIN=llvm18`. For " +"universe or tinderbox builds, `USE_GCC_TOOLCHAINS=gcc${VERSION}` builds all " +"architectures using the appropriate GCC compiler packages. For universe or " +"tinderbox builds using an out-of-tree Clang, pass `CROSS_TOOLCHAIN=llvm$" +"{VERSION}`. Note that while all architectures in the base system can be " +"compiled by Clang, only a few architectures can be fully built by GCC." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3238 +#: documentation/content/en/articles/committers-guide/_index.adoc:3263 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." +"on github and some branches pushed to github forks, a number of cross " +"compilation jobs run. These test FreeBSD building using versions of Clang " +"that lag the in-tree compiler by one or more major versions." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3244 +#: documentation/content/en/articles/committers-guide/_index.adoc:3269 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:3248 +#: documentation/content/en/articles/committers-guide/_index.adoc:3273 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:3254 +#: documentation/content/en/articles/committers-guide/_index.adoc:3279 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:3259 +#: documentation/content/en/articles/committers-guide/_index.adoc:3284 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:3260 +#: documentation/content/en/articles/committers-guide/_index.adoc:3285 #, no-wrap msgid "Current Compiler Versions" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3265 +#: documentation/content/en/articles/committers-guide/_index.adoc:3288 +msgid "" +"The versions of supported compilers for a given branch such as `main` or " +"`stable/X` varies over time. The authoritative source for supported " +"compiler versions are automated CI jobs tested in GitHub's cross-build " +"actions and Jenkins." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/committers-guide/_index.adoc:3292 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." +"For `main`, the in-tree compiler is currently Clang 19. Currently, GCC 12, " +"13, and 14 are tested for amd64 via CI jobs in Jenkins. Clang 14 and 18 are " +"tested for aarch64 and arm64 in GitHub's cross-build actions." msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:3266 +#: documentation/content/en/articles/committers-guide/_index.adoc:3293 #, no-wrap msgid "Other Suggestions" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3270 +#: documentation/content/en/articles/committers-guide/_index.adoc:3297 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:3272 +#: documentation/content/en/articles/committers-guide/_index.adoc:3299 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:3279 +#: documentation/content/en/articles/committers-guide/_index.adoc:3306 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:3280 +#: documentation/content/en/articles/committers-guide/_index.adoc:3307 #, no-wrap msgid "Deprecating Features" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3283 +#: documentation/content/en/articles/committers-guide/_index.adoc:3310 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:3285 +#: documentation/content/en/articles/committers-guide/_index.adoc:3312 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:3286 +#: documentation/content/en/articles/committers-guide/_index.adoc:3313 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:3287 +#: documentation/content/en/articles/committers-guide/_index.adoc:3314 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:3288 +#: documentation/content/en/articles/committers-guide/_index.adoc:3315 #, no-wrap msgid "Privacy and Confidentiality" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3291 +#: documentation/content/en/articles/committers-guide/_index.adoc:3318 msgid "Most FreeBSD business is done in public." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3294 +#: documentation/content/en/articles/committers-guide/_index.adoc:3321 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:3295 +#: documentation/content/en/articles/committers-guide/_index.adoc:3322 msgid "Certain sensitive matters must remain private or held under embargo." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3301 +#: documentation/content/en/articles/committers-guide/_index.adoc:3328 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:3302 +#: documentation/content/en/articles/committers-guide/_index.adoc:3329 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:3307 +#: documentation/content/en/articles/committers-guide/_index.adoc:3334 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:3308 +#: documentation/content/en/articles/committers-guide/_index.adoc:3335 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:3313 +#: documentation/content/en/articles/committers-guide/_index.adoc:3340 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:3314 +#: documentation/content/en/articles/committers-guide/_index.adoc:3341 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:3317 +#: documentation/content/en/articles/committers-guide/_index.adoc:3344 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:3318 +#: documentation/content/en/articles/committers-guide/_index.adoc:3345 msgid "Private communications must not be made public without permission." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3321 +#: documentation/content/en/articles/committers-guide/_index.adoc:3348 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:3322 +#: documentation/content/en/articles/committers-guide/_index.adoc:3349 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:3325 +#: documentation/content/en/articles/committers-guide/_index.adoc:3352 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:3326 +#: documentation/content/en/articles/committers-guide/_index.adoc:3353 msgid "Core may approve publication." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3328 +#: documentation/content/en/articles/committers-guide/_index.adoc:3355 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:3330 +#: documentation/content/en/articles/committers-guide/_index.adoc:3357 #, no-wrap msgid "Support for Multiple Architectures" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3337 +#: documentation/content/en/articles/committers-guide/_index.adoc:3364 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:3338 +#: documentation/content/en/articles/committers-guide/_index.adoc:3365 #, no-wrap msgid "Statement of General Intent" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3343 +#: documentation/content/en/articles/committers-guide/_index.adoc:3370 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:3350 +#: documentation/content/en/articles/committers-guide/_index.adoc:3377 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:3351 +#: documentation/content/en/articles/committers-guide/_index.adoc:3378 #, no-wrap msgid "Platform Targets" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3358 +#: documentation/content/en/articles/committers-guide/_index.adoc:3385 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:3360 +#: documentation/content/en/articles/committers-guide/_index.adoc:3387 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:3365 +#: documentation/content/en/articles/committers-guide/_index.adoc:3392 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:3367 +#: documentation/content/en/articles/committers-guide/_index.adoc:3394 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:3368 +#: documentation/content/en/articles/committers-guide/_index.adoc:3395 #, no-wrap msgid "Tier 1: Fully-Supported Architectures" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3373 +#: documentation/content/en/articles/committers-guide/_index.adoc:3400 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:3375 +#: documentation/content/en/articles/committers-guide/_index.adoc:3402 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:3377 +#: documentation/content/en/articles/committers-guide/_index.adoc:3404 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:3378 +#: documentation/content/en/articles/committers-guide/_index.adoc:3405 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:3379 +#: documentation/content/en/articles/committers-guide/_index.adoc:3406 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:3380 +#: documentation/content/en/articles/committers-guide/_index.adoc:3407 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:3381 +#: documentation/content/en/articles/committers-guide/_index.adoc:3408 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:3382 +#: documentation/content/en/articles/committers-guide/_index.adoc:3409 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:3383 +#: documentation/content/en/articles/committers-guide/_index.adoc:3410 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:3384 +#: documentation/content/en/articles/committers-guide/_index.adoc:3411 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:3385 +#: documentation/content/en/articles/committers-guide/_index.adoc:3412 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:3386 +#: documentation/content/en/articles/committers-guide/_index.adoc:3413 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:3387 +#: documentation/content/en/articles/committers-guide/_index.adoc:3414 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:3388 +#: documentation/content/en/articles/committers-guide/_index.adoc:3415 msgid "Tier 1 platforms will be included in the source tree." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3389 +#: documentation/content/en/articles/committers-guide/_index.adoc:3416 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:3391 +#: documentation/content/en/articles/committers-guide/_index.adoc:3418 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:3393 +#: documentation/content/en/articles/committers-guide/_index.adoc:3420 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:3394 -#: documentation/content/en/articles/committers-guide/_index.adoc:3424 +#: documentation/content/en/articles/committers-guide/_index.adoc:3421 +#: documentation/content/en/articles/committers-guide/_index.adoc:3451 msgid "Inclusion in the `make universe` and `make tinderbox` targets." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3395 +#: documentation/content/en/articles/committers-guide/_index.adoc:3422 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:3397 +#: documentation/content/en/articles/committers-guide/_index.adoc:3424 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:3399 +#: documentation/content/en/articles/committers-guide/_index.adoc:3426 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:3400 +#: documentation/content/en/articles/committers-guide/_index.adoc:3427 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:3401 +#: documentation/content/en/articles/committers-guide/_index.adoc:3428 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:3402 +#: documentation/content/en/articles/committers-guide/_index.adoc:3429 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:3403 +#: documentation/content/en/articles/committers-guide/_index.adoc:3430 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:3404 +#: documentation/content/en/articles/committers-guide/_index.adoc:3431 #, no-wrap msgid "Tier 2: Developmental and Niche Architectures" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3408 +#: documentation/content/en/articles/committers-guide/_index.adoc:3435 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:3412 +#: documentation/content/en/articles/committers-guide/_index.adoc:3439 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:3414 +#: documentation/content/en/articles/committers-guide/_index.adoc:3441 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:3416 +#: documentation/content/en/articles/committers-guide/_index.adoc:3443 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:3417 +#: documentation/content/en/articles/committers-guide/_index.adoc:3444 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:3418 +#: documentation/content/en/articles/committers-guide/_index.adoc:3445 msgid "Tier 2 platforms will be included in the source tree." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3419 +#: documentation/content/en/articles/committers-guide/_index.adoc:3446 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:3420 +#: documentation/content/en/articles/committers-guide/_index.adoc:3447 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:3422 +#: documentation/content/en/articles/committers-guide/_index.adoc:3449 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:3426 +#: documentation/content/en/articles/committers-guide/_index.adoc:3453 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:3428 +#: documentation/content/en/articles/committers-guide/_index.adoc:3455 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:3429 +#: documentation/content/en/articles/committers-guide/_index.adoc:3456 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:3430 +#: documentation/content/en/articles/committers-guide/_index.adoc:3457 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:3431 +#: documentation/content/en/articles/committers-guide/_index.adoc:3458 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:3432 +#: documentation/content/en/articles/committers-guide/_index.adoc:3459 #, no-wrap msgid "Tier 3: Experimental Architectures" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3436 +#: documentation/content/en/articles/committers-guide/_index.adoc:3463 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:3439 +#: documentation/content/en/articles/committers-guide/_index.adoc:3466 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:3442 +#: documentation/content/en/articles/committers-guide/_index.adoc:3469 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:3443 +#: documentation/content/en/articles/committers-guide/_index.adoc:3470 #, no-wrap msgid "Unsupported Architectures" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3447 +#: documentation/content/en/articles/committers-guide/_index.adoc:3474 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:3450 +#: documentation/content/en/articles/committers-guide/_index.adoc:3477 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:3451 +#: documentation/content/en/articles/committers-guide/_index.adoc:3478 #, no-wrap msgid "Policy on Changing the Tier of an Architecture" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3455 +#: documentation/content/en/articles/committers-guide/_index.adoc:3482 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:3457 +#: documentation/content/en/articles/committers-guide/_index.adoc:3484 #, no-wrap msgid "Ports Specific FAQ" msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:3460 +#: documentation/content/en/articles/committers-guide/_index.adoc:3487 #, no-wrap msgid "Adding a New Port" msgstr "" #. type: Title ==== -#: documentation/content/en/articles/committers-guide/_index.adoc:3463 +#: documentation/content/en/articles/committers-guide/_index.adoc:3490 #, no-wrap msgid "How do I add a new port?" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3468 +#: documentation/content/en/articles/committers-guide/_index.adoc:3495 msgid "" "Adding a port to the tree is relatively simple. Once the port is ready to be " "added, as explained later crossref:committers-guide[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:3472 +#: documentation/content/en/articles/committers-guide/_index.adoc:3499 #, no-wrap msgid "\tSUBDIR += newport\n" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3475 +#: documentation/content/en/articles/committers-guide/_index.adoc:3502 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:3480 +#: documentation/content/en/articles/committers-guide/_index.adoc:3507 #, 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:3484 +#: documentation/content/en/articles/committers-guide/_index.adoc:3511 msgid "" "Don't forget to crossref:committers-guide[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:3487 +#: documentation/content/en/articles/committers-guide/_index.adoc:3514 #, 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:3490 +#: documentation/content/en/articles/committers-guide/_index.adoc:3517 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:3493 +#: documentation/content/en/articles/committers-guide/_index.adoc:3520 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." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3495 +#: documentation/content/en/articles/committers-guide/_index.adoc:3522 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:3497 +#: documentation/content/en/articles/committers-guide/_index.adoc:3524 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:3500 +#: documentation/content/en/articles/committers-guide/_index.adoc:3527 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:3504 +#: documentation/content/en/articles/committers-guide/_index.adoc:3531 msgid "" "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:3514 +#: documentation/content/en/articles/committers-guide/_index.adoc:3541 #, 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:3517 +#: documentation/content/en/articles/committers-guide/_index.adoc:3544 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:3520 +#: documentation/content/en/articles/committers-guide/_index.adoc:3547 #, no-wrap msgid "Removing an Existing Port" msgstr "" #. type: Title ==== -#: documentation/content/en/articles/committers-guide/_index.adoc:3523 +#: documentation/content/en/articles/committers-guide/_index.adoc:3550 #, no-wrap msgid "How do I remove an existing port?" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3526 +#: documentation/content/en/articles/committers-guide/_index.adoc:3553 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:3528 +#: documentation/content/en/articles/committers-guide/_index.adoc:3555 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:3529 +#: documentation/content/en/articles/committers-guide/_index.adoc:3556 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:3530 +#: documentation/content/en/articles/committers-guide/_index.adoc:3557 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:3534 +#: documentation/content/en/articles/committers-guide/_index.adoc:3561 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:3537 +#: documentation/content/en/articles/committers-guide/_index.adoc:3564 msgid "Then, remove the port:" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3541 +#: documentation/content/en/articles/committers-guide/_index.adoc:3568 msgid "Remove the port's files and directory with `git rm`." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3542 +#: documentation/content/en/articles/committers-guide/_index.adoc:3569 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:3543 -#: documentation/content/en/articles/committers-guide/_index.adoc:3558 +#: documentation/content/en/articles/committers-guide/_index.adoc:3570 +#: documentation/content/en/articles/committers-guide/_index.adoc:3585 msgid "Add an entry to [.filename]#ports/MOVED#." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3544 +#: documentation/content/en/articles/committers-guide/_index.adoc:3571 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:3549 +#: documentation/content/en/articles/committers-guide/_index.adoc:3576 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:3551 +#: documentation/content/en/articles/committers-guide/_index.adoc:3578 #, 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:3556 +#: documentation/content/en/articles/committers-guide/_index.adoc:3583 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:3557 +#: documentation/content/en/articles/committers-guide/_index.adoc:3584 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:3559 +#: documentation/content/en/articles/committers-guide/_index.adoc:3586 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:3560 +#: documentation/content/en/articles/committers-guide/_index.adoc:3587 msgid "Move the port with `git mv`." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3561 -#: documentation/content/en/articles/committers-guide/_index.adoc:3572 +#: documentation/content/en/articles/committers-guide/_index.adoc:3588 +#: documentation/content/en/articles/committers-guide/_index.adoc:3599 msgid "Commit the changes." msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:3564 +#: documentation/content/en/articles/committers-guide/_index.adoc:3591 #, 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:3569 +#: documentation/content/en/articles/committers-guide/_index.adoc:3596 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:3570 +#: documentation/content/en/articles/committers-guide/_index.adoc:3597 msgid "Add the new port to the [.filename]#new-cat/Makefile#." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3571 +#: documentation/content/en/articles/committers-guide/_index.adoc:3598 msgid "Change stuff in [.filename]#new-cat/new-port#." msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:3575 +#: documentation/content/en/articles/committers-guide/_index.adoc:3602 #, no-wrap msgid "Ports Freeze" msgstr "" #. type: Title ==== -#: documentation/content/en/articles/committers-guide/_index.adoc:3578 +#: documentation/content/en/articles/committers-guide/_index.adoc:3605 #, no-wrap msgid "What is a “ports freeze”?" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3585 +#: documentation/content/en/articles/committers-guide/_index.adoc:3612 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:3588 +#: documentation/content/en/articles/committers-guide/_index.adoc:3615 msgid "" "For more information on how to merge commits to the quarterly branch, see " "crossref:committers-guide[ports-qa-misc-request-mfh, What is the procedure " "to request authorization for merging a commit to the quarterly branch?]." msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:3590 +#: documentation/content/en/articles/committers-guide/_index.adoc:3617 #, no-wrap msgid "Quarterly Branches" msgstr "" #. type: Title ==== -#: documentation/content/en/articles/committers-guide/_index.adoc:3593 +#: documentation/content/en/articles/committers-guide/_index.adoc:3620 #, 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:3596 +#: documentation/content/en/articles/committers-guide/_index.adoc:3623 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:3598 +#: documentation/content/en/articles/committers-guide/_index.adoc:3625 #, 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:3601 +#: documentation/content/en/articles/committers-guide/_index.adoc:3628 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:3607 +#: documentation/content/en/articles/committers-guide/_index.adoc:3634 #, 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:3611 +#: documentation/content/en/articles/committers-guide/_index.adoc:3638 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:3613 +#: documentation/content/en/articles/committers-guide/_index.adoc:3640 #, no-wrap msgid "Creating a New Category" msgstr "" #. type: Title ==== -#: documentation/content/en/articles/committers-guide/_index.adoc:3616 +#: documentation/content/en/articles/committers-guide/_index.adoc:3643 #, no-wrap msgid "What is the procedure for creating a new category?" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3621 +#: documentation/content/en/articles/committers-guide/_index.adoc:3648 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:3625 +#: documentation/content/en/articles/committers-guide/_index.adoc:3652 msgid "Perform any needed moves. (This only applies to physical categories.)" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3626 +#: documentation/content/en/articles/committers-guide/_index.adoc:3653 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:3627 +#: documentation/content/en/articles/committers-guide/_index.adoc:3654 msgid "Assign the PR back to you." msgstr "" #. type: Title ==== -#: documentation/content/en/articles/committers-guide/_index.adoc:3630 +#: documentation/content/en/articles/committers-guide/_index.adoc:3657 #, 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:3635 +#: documentation/content/en/articles/committers-guide/_index.adoc:3662 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:3637 +#: documentation/content/en/articles/committers-guide/_index.adoc:3664 msgid "To do this, you will need to:" msgstr "" #. type: delimited block = 6 -#: documentation/content/en/articles/committers-guide/_index.adoc:3641 +#: documentation/content/en/articles/committers-guide/_index.adoc:3668 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:3642 +#: documentation/content/en/articles/committers-guide/_index.adoc:3669 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:3643 +#: documentation/content/en/articles/committers-guide/_index.adoc:3670 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:3646 +#: documentation/content/en/articles/committers-guide/_index.adoc:3673 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:3648 +#: documentation/content/en/articles/committers-guide/_index.adoc:3675 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:3649 +#: documentation/content/en/articles/committers-guide/_index.adoc:3676 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:3650 +#: documentation/content/en/articles/committers-guide/_index.adoc:3677 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:3651 +#: documentation/content/en/articles/committers-guide/_index.adoc:3678 msgid "Add appropriate entries to [.filename]#ports/MOVED#." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3652 +#: documentation/content/en/articles/committers-guide/_index.adoc:3679 msgid "Update the documentation by modifying:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3653 -#: documentation/content/en/articles/committers-guide/_index.adoc:3662 +#: documentation/content/en/articles/committers-guide/_index.adoc:3680 +#: documentation/content/en/articles/committers-guide/_index.adoc:3689 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:3655 +#: documentation/content/en/articles/committers-guide/_index.adoc:3682 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:3657 +#: documentation/content/en/articles/committers-guide/_index.adoc:3684 #, 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:3660 +#: documentation/content/en/articles/committers-guide/_index.adoc:3687 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:3664 -#: documentation/content/en/articles/committers-guide/_index.adoc:3758 +#: documentation/content/en/articles/committers-guide/_index.adoc:3691 +#: documentation/content/en/articles/committers-guide/_index.adoc:3785 #, no-wrap msgid "Miscellaneous Questions" msgstr "" #. type: Title ==== -#: documentation/content/en/articles/committers-guide/_index.adoc:3667 +#: documentation/content/en/articles/committers-guide/_index.adoc:3694 #, 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:3670 +#: documentation/content/en/articles/committers-guide/_index.adoc:3697 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:3672 +#: documentation/content/en/articles/committers-guide/_index.adoc:3699 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:3673 +#: documentation/content/en/articles/committers-guide/_index.adoc:3700 msgid "Trivial and _tested_ build and runtime fixes." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3674 +#: documentation/content/en/articles/committers-guide/_index.adoc:3701 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:3679 +#: documentation/content/en/articles/committers-guide/_index.adoc:3706 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:3682 +#: documentation/content/en/articles/committers-guide/_index.adoc:3709 #, 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:3686 +#: documentation/content/en/articles/committers-guide/_index.adoc:3713 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:3688 +#: documentation/content/en/articles/committers-guide/_index.adoc:3715 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:3690 +#: documentation/content/en/articles/committers-guide/_index.adoc:3717 #, 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:3693 +#: documentation/content/en/articles/committers-guide/_index.adoc:3720 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:3695 +#: documentation/content/en/articles/committers-guide/_index.adoc:3722 #, 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:3699 +#: documentation/content/en/articles/committers-guide/_index.adoc:3726 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:3701 +#: documentation/content/en/articles/committers-guide/_index.adoc:3728 #, 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:3705 +#: documentation/content/en/articles/committers-guide/_index.adoc:3732 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:3707 +#: documentation/content/en/articles/committers-guide/_index.adoc:3734 #, 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:3711 +#: documentation/content/en/articles/committers-guide/_index.adoc:3738 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:3713 +#: documentation/content/en/articles/committers-guide/_index.adoc:3740 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:3717 +#: documentation/content/en/articles/committers-guide/_index.adoc:3744 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:3718 +#: documentation/content/en/articles/committers-guide/_index.adoc:3745 msgid "Select the product your patch is about." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3719 +#: documentation/content/en/articles/committers-guide/_index.adoc:3746 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:3720 +#: documentation/content/en/articles/committers-guide/_index.adoc:3747 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:3721 +#: documentation/content/en/articles/committers-guide/_index.adoc:3748 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:3722 +#: documentation/content/en/articles/committers-guide/_index.adoc:3749 msgid "Submit. Wait for the build to run." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3723 +#: documentation/content/en/articles/committers-guide/_index.adoc:3750 msgid "{portmgr} will reply with a possible fallout." msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3724 +#: documentation/content/en/articles/committers-guide/_index.adoc:3751 msgid "Depending on the fallout:" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3725 +#: documentation/content/en/articles/committers-guide/_index.adoc:3752 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:3726 +#: documentation/content/en/articles/committers-guide/_index.adoc:3753 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:3727 +#: documentation/content/en/articles/committers-guide/_index.adoc:3754 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:3730 +#: documentation/content/en/articles/committers-guide/_index.adoc:3757 #, no-wrap msgid "Issues Specific to Developers Who Are Not Committers" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3735 +#: documentation/content/en/articles/committers-guide/_index.adoc:3762 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:3737 +#: documentation/content/en/articles/committers-guide/_index.adoc:3764 msgid "crossref:committers-guide[admin, Administrative Details]" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3738 +#: documentation/content/en/articles/committers-guide/_index.adoc:3765 msgid "crossref:committers-guide[conventions-everyone, For Everyone]" msgstr "" #. type: Plain text -#: documentation/content/en/articles/committers-guide/_index.adoc:3742 +#: documentation/content/en/articles/committers-guide/_index.adoc:3769 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:3744 +#: documentation/content/en/articles/committers-guide/_index.adoc:3771 msgid "crossref:committers-guide[developer.relations, Developer Relations]" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3745 +#: documentation/content/en/articles/committers-guide/_index.adoc:3772 msgid "crossref:committers-guide[ssh.guide, SSH Quick-Start Guide]" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3746 +#: documentation/content/en/articles/committers-guide/_index.adoc:3773 msgid "" "crossref:committers-guide[rules, The FreeBSD Committers' Big List of Rules]" msgstr "" #. type: Title == -#: documentation/content/en/articles/committers-guide/_index.adoc:3748 +#: documentation/content/en/articles/committers-guide/_index.adoc:3775 #, no-wrap msgid "Information About Google Analytics" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3751 +#: documentation/content/en/articles/committers-guide/_index.adoc:3778 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:3755 +#: documentation/content/en/articles/committers-guide/_index.adoc:3782 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:3760 +#: documentation/content/en/articles/committers-guide/_index.adoc:3787 #, 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:3764 +#: documentation/content/en/articles/committers-guide/_index.adoc:3791 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:3765 +#: documentation/content/en/articles/committers-guide/_index.adoc:3792 #, no-wrap msgid "Where are the mailing list archives stored?" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3768 +#: documentation/content/en/articles/committers-guide/_index.adoc:3795 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:3769 +#: documentation/content/en/articles/committers-guide/_index.adoc:3796 #, 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:3772 +#: documentation/content/en/articles/committers-guide/_index.adoc:3799 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:3774 +#: documentation/content/en/articles/committers-guide/_index.adoc:3801 #, no-wrap msgid "Benefits and Perks for FreeBSD Committers" msgstr "" #. type: Title === -#: documentation/content/en/articles/committers-guide/_index.adoc:3777 +#: documentation/content/en/articles/committers-guide/_index.adoc:3804 #, no-wrap msgid "Recognition" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3781 +#: documentation/content/en/articles/committers-guide/_index.adoc:3808 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:3783 +#: documentation/content/en/articles/committers-guide/_index.adoc:3810 #, no-wrap msgid "FreeBSD Mall" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3786 +#: documentation/content/en/articles/committers-guide/_index.adoc:3813 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:3788 +#: documentation/content/en/articles/committers-guide/_index.adoc:3815 #, no-wrap msgid "`Gandi.net`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3791 +#: documentation/content/en/articles/committers-guide/_index.adoc:3818 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:3795 +#: documentation/content/en/articles/committers-guide/_index.adoc:3822 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:3797 +#: documentation/content/en/articles/committers-guide/_index.adoc:3824 #, no-wrap msgid "`rsync.net`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/articles/committers-guide/_index.adoc:3800 +#: documentation/content/en/articles/committers-guide/_index.adoc:3827 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:3801 +#: documentation/content/en/articles/committers-guide/_index.adoc:3828 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 "" diff --git a/documentation/content/en/articles/pgpkeys/_index.po b/documentation/content/en/articles/pgpkeys/_index.po index f36963ef0d..52d62342bf 100644 --- a/documentation/content/en/articles/pgpkeys/_index.po +++ b/documentation/content/en/articles/pgpkeys/_index.po @@ -1,2961 +1,2985 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:57-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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:642 +#: documentation/content/en/articles/pgpkeys/_index.adoc:645 #, no-wrap msgid "`{allanjude}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:81 #: documentation/content/en/articles/pgpkeys/_index.adoc:339 #, no-wrap msgid "`{dch}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:84 -#: documentation/content/en/articles/pgpkeys/_index.adoc:1242 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1248 #, no-wrap msgid "`{glebius}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:87 #, no-wrap msgid "`{hrs}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:90 -#: documentation/content/en/articles/pgpkeys/_index.adoc:594 +#: documentation/content/en/articles/pgpkeys/_index.adoc:597 #, no-wrap msgid "`{lwhsu}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:93 #: documentation/content/en/articles/pgpkeys/_index.adoc:147 #, no-wrap msgid "`{mat}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:96 #: documentation/content/en/articles/pgpkeys/_index.adoc:336 #, no-wrap msgid "`{olivier}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:99 #: documentation/content/en/articles/pgpkeys/_index.adoc:198 #, no-wrap msgid "`{tcberner}`" 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: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:171 #, no-wrap msgid "`{jhb}`" 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 "`{jbo}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:213 #, no-wrap msgid "`{novel}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:216 #, no-wrap msgid "`{garga}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:219 #, no-wrap msgid "`{kbowling}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:222 #, no-wrap msgid "`{alexbl}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:225 #, no-wrap msgid "`{ebrandi}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:228 #, no-wrap msgid "`{harti}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:231 #, no-wrap msgid "`{obraun}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:234 #, no-wrap msgid "`{makc}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:237 #, no-wrap msgid "`{jmb}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:240 #, no-wrap msgid "`{dab}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:243 #, no-wrap msgid "`{antoine}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:246 #, no-wrap msgid "`{db}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:249 #, no-wrap msgid "`{brueffer}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:252 #, no-wrap msgid "`{markus}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:255 #, no-wrap msgid "`{br}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:258 #, no-wrap msgid "`{jch}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:261 #, no-wrap msgid "`{jchandra}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:264 #, no-wrap msgid "`{jcamou}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:267 #, no-wrap msgid "`{acm}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:270 #, no-wrap msgid "`{olce}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:273 #, no-wrap msgid "`{gahr}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:276 #, no-wrap msgid "`{dchagin}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:279 #, no-wrap msgid "`{perky}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:282 #, no-wrap msgid "`{jon}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:285 #, no-wrap msgid "`{jonathan}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:288 #, no-wrap msgid "`{loader}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:291 #, no-wrap msgid "`{luoqi}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:294 #, no-wrap msgid "`{ache}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:297 #, no-wrap msgid "`{melifaro}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:300 #, no-wrap msgid "`{cjh}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:303 #, no-wrap msgid "`{davidch}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:306 #, no-wrap msgid "`{milki}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:309 #, no-wrap msgid "`{cjc}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:312 #, no-wrap msgid "`{marcus}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:315 #, no-wrap msgid "`{fuz}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:318 #, no-wrap msgid "`{nik}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:321 #, no-wrap msgid "`{benjsc}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:324 #, no-wrap msgid "`{lcook}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:327 #, no-wrap msgid "`{ngie}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:330 #, no-wrap msgid "`{rakuco}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:333 #, no-wrap msgid "`{alc}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:342 #, no-wrap msgid "`{bcran}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:345 #, no-wrap msgid "`{cc}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:348 #, no-wrap msgid "`{culot}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:351 #, no-wrap msgid "`{alfredo}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:354 #, no-wrap msgid "`{bapt}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:357 #, no-wrap msgid "`{ceri}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:360 #, no-wrap msgid "`{edavis}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:363 #, no-wrap msgid "`{alexey}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:366 #, no-wrap msgid "`{bsd}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:369 #, no-wrap msgid "`{carl}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:372 #, no-wrap msgid "`{carlavilla}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:375 #, no-wrap msgid "`{vd}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:378 #, no-wrap msgid "`{rdivacky}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:381 #, no-wrap msgid "`{danfe}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:384 #, no-wrap msgid "`{dd}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:387 #, no-wrap msgid "`{bdrewery}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:390 #, no-wrap msgid "`{gad}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:393 #, no-wrap msgid "`{kd}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:396 #, no-wrap msgid "`{olivierd}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:399 #, no-wrap msgid "`{bruno}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:402 #, no-wrap msgid "`{ale}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:405 #, no-wrap msgid "`{jlduran}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:408 #, no-wrap msgid "`{nemysis}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:411 #, no-wrap msgid "`{peadar}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:414 #, no-wrap msgid "`{deischen}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:417 #, no-wrap msgid "`{diizzy}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:420 #, no-wrap msgid "`{ue}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:423 #, no-wrap msgid "`{madpilot}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:426 #, no-wrap msgid "`{rafan}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:429 #, no-wrap msgid "`{kami}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:432 #, no-wrap msgid "`{farrokhi}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:435 #, no-wrap msgid "`{jedgar}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:438 #, no-wrap msgid "`{mfechner}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:441 #, no-wrap msgid "`{feld}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:444 #, no-wrap msgid "`{green}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:447 #, no-wrap msgid "`{fanf}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:450 #, no-wrap msgid "`{blackend}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:453 #, no-wrap msgid "`{petef}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:456 #, no-wrap msgid "`{decke}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:459 #, no-wrap msgid "`{landonf}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:462 #, no-wrap msgid "`{billf}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:465 #, no-wrap msgid "`{grembo}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:468 #, no-wrap msgid "`{sgalabov}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:471 #, no-wrap -msgid "`{avg}`" +msgid "`{kgalazka}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:474 #, no-wrap -msgid "`{beat}`" +msgid "`{avg}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:477 #, no-wrap -msgid "`{sjg}`" +msgid "`{beat}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:480 #, no-wrap -msgid "`{gibbs}`" +msgid "`{sjg}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:483 #, no-wrap -msgid "`{pfg}`" +msgid "`{gibbs}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:486 #, no-wrap -msgid "`{girgen}`" +msgid "`{pfg}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:489 #, no-wrap -msgid "`{eugen}`" +msgid "`{girgen}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:492 #, no-wrap -msgid "`{pgollucci}`" +msgid "`{eugen}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:495 #, no-wrap -msgid "`{trociny}`" +msgid "`{pgollucci}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:498 #, no-wrap -msgid "`{dmgk}`" +msgid "`{trociny}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:501 #, no-wrap -msgid "`{daichi}`" +msgid "`{dmgk}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:504 #, no-wrap -msgid "`{grehan}`" +msgid "`{daichi}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:507 #, no-wrap -msgid "`{jamie}`" +msgid "`{grehan}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:510 #, no-wrap -msgid "`{adridg}`" +msgid "`{jamie}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:513 #, no-wrap -msgid "`{wg}`" +msgid "`{adridg}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:516 #, no-wrap -msgid "`{bar}`" +msgid "`{wg}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:519 #, no-wrap -msgid "`{jmg}`" +msgid "`{bar}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:522 #, no-wrap -msgid "`{mjg}`" +msgid "`{jmg}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:525 #, no-wrap -msgid "`{jhale}`" +msgid "`{mjg}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:528 #, no-wrap -msgid "`{jah}`" +msgid "`{jhale}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:531 #, no-wrap -msgid "`{dannyboy}`" +msgid "`{jah}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:534 #, no-wrap -msgid "`{dhartmei}`" +msgid "`{dannyboy}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:537 #, no-wrap -msgid "`{ohauer}`" +msgid "`{dhartmei}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:540 #, no-wrap -msgid "`{ehaupt}`" +msgid "`{ohauer}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:543 #, no-wrap -msgid "`{jhay}`" +msgid "`{ehaupt}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:546 #, no-wrap -msgid "`{bhd}`" +msgid "`{jhay}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:549 #, no-wrap -msgid "`{sheldonh}`" +msgid "`{bhd}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:552 #, no-wrap -msgid "`{mikeh}`" +msgid "`{sheldonh}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:555 #, no-wrap -msgid "`{mheinen}`" +msgid "`{mikeh}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:558 #, no-wrap -msgid "`{niels}`" +msgid "`{mheinen}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:561 #, no-wrap -msgid "`{ghelmer}`" +msgid "`{niels}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:564 #, no-wrap -msgid "`{mux}`" +msgid "`{ghelmer}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:567 #, no-wrap -msgid "`{wen}`" +msgid "`{mux}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:570 #, no-wrap -msgid "`{dhn}`" +msgid "`{wen}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:573 #, no-wrap -msgid "`{jhibbits}`" +msgid "`{dhn}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:576 #, no-wrap -msgid "`{jhixson}`" +msgid "`{jhibbits}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:579 #, no-wrap -msgid "`{pho}`" +msgid "`{jhixson}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:582 #, no-wrap -msgid "`{oh}`" +msgid "`{pho}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:585 #, no-wrap -msgid "`{mhorne}`" +msgid "`{oh}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:588 #, no-wrap -msgid "`{bhughes}`" +msgid "`{mhorne}`" msgstr "" #. type: Title === #: documentation/content/en/articles/pgpkeys/_index.adoc:591 #, no-wrap +msgid "`{bhughes}`" +msgstr "" + +#. type: Title === +#: documentation/content/en/articles/pgpkeys/_index.adoc:594 +#, no-wrap msgid "`{sunpoet}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:597 +#: documentation/content/en/articles/pgpkeys/_index.adoc:600 #, no-wrap msgid "`{foxfair}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:600 +#: documentation/content/en/articles/pgpkeys/_index.adoc:603 #, no-wrap msgid "`{whu}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:603 +#: documentation/content/en/articles/pgpkeys/_index.adoc:606 #, no-wrap msgid "`{chinsan}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:606 +#: documentation/content/en/articles/pgpkeys/_index.adoc:609 #, no-wrap msgid "`{zlei}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:609 +#: documentation/content/en/articles/pgpkeys/_index.adoc:612 #, no-wrap msgid "`{davide}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:612 +#: documentation/content/en/articles/pgpkeys/_index.adoc:615 #, no-wrap msgid "`{jkh}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:615 +#: documentation/content/en/articles/pgpkeys/_index.adoc:618 #, no-wrap msgid "`{versus}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:618 +#: documentation/content/en/articles/pgpkeys/_index.adoc:621 #, no-wrap msgid "`{pi}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:621 +#: documentation/content/en/articles/pgpkeys/_index.adoc:624 #, no-wrap msgid "`{weongyo}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:624 +#: documentation/content/en/articles/pgpkeys/_index.adoc:627 #, no-wrap msgid "`{peterj}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:627 +#: documentation/content/en/articles/pgpkeys/_index.adoc:630 #, no-wrap msgid "`{jinmei}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:630 +#: documentation/content/en/articles/pgpkeys/_index.adoc:633 #, no-wrap msgid "`{ahze}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:633 +#: documentation/content/en/articles/pgpkeys/_index.adoc:636 #, no-wrap msgid "`{markj}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:636 +#: documentation/content/en/articles/pgpkeys/_index.adoc:639 #, no-wrap msgid "`{trevor}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:639 +#: documentation/content/en/articles/pgpkeys/_index.adoc:642 #, no-wrap msgid "`{erj}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:645 +#: documentation/content/en/articles/pgpkeys/_index.adoc:648 #, no-wrap msgid "`{bjk}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:648 +#: documentation/content/en/articles/pgpkeys/_index.adoc:651 #, no-wrap msgid "`{phk}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:651 +#: documentation/content/en/articles/pgpkeys/_index.adoc:654 #, no-wrap msgid "`{pluknet}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:654 +#: documentation/content/en/articles/pgpkeys/_index.adoc:657 #, no-wrap msgid "`{cokane}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:657 +#: documentation/content/en/articles/pgpkeys/_index.adoc:660 #, no-wrap msgid "`{karels}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:660 +#: documentation/content/en/articles/pgpkeys/_index.adoc:663 #, no-wrap msgid "`{kato}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:663 +#: documentation/content/en/articles/pgpkeys/_index.adoc:666 #, no-wrap msgid "`{vkashyap}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:666 +#: documentation/content/en/articles/pgpkeys/_index.adoc:669 #, no-wrap msgid "`{pkubaj}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:669 +#: documentation/content/en/articles/pgpkeys/_index.adoc:672 #, no-wrap msgid "`{kris}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:672 +#: documentation/content/en/articles/pgpkeys/_index.adoc:675 #, no-wrap msgid "`{keramida}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:675 +#: documentation/content/en/articles/pgpkeys/_index.adoc:678 #, no-wrap msgid "`{fjoe}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:678 +#: documentation/content/en/articles/pgpkeys/_index.adoc:681 #, no-wrap msgid "`{manolis}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:681 +#: documentation/content/en/articles/pgpkeys/_index.adoc:684 #, no-wrap msgid "`{stevek}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:684 +#: documentation/content/en/articles/pgpkeys/_index.adoc:687 #, no-wrap msgid "`{jkim}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:687 +#: documentation/content/en/articles/pgpkeys/_index.adoc:690 #, no-wrap msgid "`{zack}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:690 +#: documentation/content/en/articles/pgpkeys/_index.adoc:693 #, no-wrap msgid "`{akiyano}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:693 +#: documentation/content/en/articles/pgpkeys/_index.adoc:696 #, no-wrap msgid "`{jceel}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:696 +#: documentation/content/en/articles/pgpkeys/_index.adoc:699 #, no-wrap msgid "`{andreas}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:699 +#: documentation/content/en/articles/pgpkeys/_index.adoc:702 #, no-wrap msgid "`{kai}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:702 +#: documentation/content/en/articles/pgpkeys/_index.adoc:705 #, no-wrap msgid "`{corvink}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:705 +#: documentation/content/en/articles/pgpkeys/_index.adoc:708 #, no-wrap msgid "`{jkois}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:708 +#: documentation/content/en/articles/pgpkeys/_index.adoc:711 #, no-wrap msgid "`{sergei}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:711 +#: documentation/content/en/articles/pgpkeys/_index.adoc:714 #, no-wrap msgid "`{maxim}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:714 +#: documentation/content/en/articles/pgpkeys/_index.adoc:717 #, no-wrap msgid "`{taras}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:717 +#: documentation/content/en/articles/pgpkeys/_index.adoc:720 #, no-wrap msgid "`{tobik}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:720 +#: documentation/content/en/articles/pgpkeys/_index.adoc:723 #, no-wrap msgid "`{jkoshy}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:723 +#: documentation/content/en/articles/pgpkeys/_index.adoc:726 #, no-wrap msgid "`{wkoszek}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:726 +#: documentation/content/en/articles/pgpkeys/_index.adoc:729 #, no-wrap msgid "`{ak}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:729 +#: documentation/content/en/articles/pgpkeys/_index.adoc:732 #, no-wrap msgid "`{gabor}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:732 +#: documentation/content/en/articles/pgpkeys/_index.adoc:735 #, no-wrap msgid "`{anchie}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:735 +#: documentation/content/en/articles/pgpkeys/_index.adoc:738 #, no-wrap msgid "`{rushani}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:738 +#: documentation/content/en/articles/pgpkeys/_index.adoc:741 #, no-wrap msgid "`{kuriyama}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:741 +#: documentation/content/en/articles/pgpkeys/_index.adoc:744 #, no-wrap msgid "`{rene}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:744 +#: documentation/content/en/articles/pgpkeys/_index.adoc:747 #, no-wrap msgid "`{jlaffaye}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:747 +#: documentation/content/en/articles/pgpkeys/_index.adoc:750 #, no-wrap msgid "`{clement}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:750 +#: documentation/content/en/articles/pgpkeys/_index.adoc:753 #, no-wrap msgid "`{mlaier}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:753 +#: documentation/content/en/articles/pgpkeys/_index.adoc:756 #, no-wrap msgid "`{martymac}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:756 +#: documentation/content/en/articles/pgpkeys/_index.adoc:759 #, no-wrap msgid "`{glarkin}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:759 +#: documentation/content/en/articles/pgpkeys/_index.adoc:762 #, no-wrap msgid "`{dru}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:762 +#: documentation/content/en/articles/pgpkeys/_index.adoc:765 #, no-wrap msgid "`{lawrance}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:765 +#: documentation/content/en/articles/pgpkeys/_index.adoc:768 #, no-wrap msgid "`{njl}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:768 +#: documentation/content/en/articles/pgpkeys/_index.adoc:771 #, no-wrap msgid "`{jlh}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:771 +#: documentation/content/en/articles/pgpkeys/_index.adoc:774 #, no-wrap msgid "`{leeym}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:774 +#: documentation/content/en/articles/pgpkeys/_index.adoc:777 #, no-wrap msgid "`{sam}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:777 +#: documentation/content/en/articles/pgpkeys/_index.adoc:780 #, no-wrap msgid "`{jylefort}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:780 +#: documentation/content/en/articles/pgpkeys/_index.adoc:783 #, no-wrap msgid "`{grog}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:783 +#: documentation/content/en/articles/pgpkeys/_index.adoc:786 #, no-wrap msgid "`{oliver}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:786 +#: documentation/content/en/articles/pgpkeys/_index.adoc:789 #, no-wrap msgid "`{netchild}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:789 +#: documentation/content/en/articles/pgpkeys/_index.adoc:792 #, no-wrap msgid "`{leitao}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:792 +#: documentation/content/en/articles/pgpkeys/_index.adoc:795 #, no-wrap msgid "`{ae}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:795 +#: documentation/content/en/articles/pgpkeys/_index.adoc:798 #, no-wrap msgid "`{lesi}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:798 +#: documentation/content/en/articles/pgpkeys/_index.adoc:801 #, no-wrap msgid "`{achim}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:801 +#: documentation/content/en/articles/pgpkeys/_index.adoc:804 #, no-wrap msgid "`{cel}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:804 +#: documentation/content/en/articles/pgpkeys/_index.adoc:807 #, no-wrap msgid "`{glewis}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:807 +#: documentation/content/en/articles/pgpkeys/_index.adoc:810 #, no-wrap msgid "`{vishwin}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:810 +#: documentation/content/en/articles/pgpkeys/_index.adoc:813 #, no-wrap msgid "`{delphij}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:813 +#: documentation/content/en/articles/pgpkeys/_index.adoc:816 #, no-wrap msgid "`{avatar}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:816 +#: documentation/content/en/articles/pgpkeys/_index.adoc:819 #, no-wrap msgid "`{ijliao}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:819 +#: documentation/content/en/articles/pgpkeys/_index.adoc:822 #, no-wrap msgid "`{rlibby}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:822 +#: documentation/content/en/articles/pgpkeys/_index.adoc:825 #, no-wrap msgid "`{pclin}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:825 +#: documentation/content/en/articles/pgpkeys/_index.adoc:828 #, no-wrap msgid "`{yzlin}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:828 +#: documentation/content/en/articles/pgpkeys/_index.adoc:831 #, no-wrap msgid "`{linimon}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:831 +#: documentation/content/en/articles/pgpkeys/_index.adoc:834 #, no-wrap msgid "`{arved}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:834 +#: documentation/content/en/articles/pgpkeys/_index.adoc:837 #, no-wrap msgid "`{dryice}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:837 +#: documentation/content/en/articles/pgpkeys/_index.adoc:840 #, no-wrap msgid "`{nemoliu}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:840 +#: documentation/content/en/articles/pgpkeys/_index.adoc:843 #, no-wrap msgid "`{kevlo}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:843 +#: documentation/content/en/articles/pgpkeys/_index.adoc:846 #, no-wrap msgid "`{zml}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:846 +#: documentation/content/en/articles/pgpkeys/_index.adoc:849 #, no-wrap msgid "`{nox}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:849 +#: documentation/content/en/articles/pgpkeys/_index.adoc:852 #, no-wrap msgid "`{avl}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:852 +#: documentation/content/en/articles/pgpkeys/_index.adoc:855 #, no-wrap msgid "`{scottl}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:855 +#: documentation/content/en/articles/pgpkeys/_index.adoc:858 #, no-wrap msgid "`{rmacklem}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:858 +#: documentation/content/en/articles/pgpkeys/_index.adoc:861 #, no-wrap msgid "`{vmaffione}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:861 +#: documentation/content/en/articles/pgpkeys/_index.adoc:864 #, no-wrap msgid "`{bmah}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:864 +#: documentation/content/en/articles/pgpkeys/_index.adoc:867 #, no-wrap msgid "`{rm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:867 +#: documentation/content/en/articles/pgpkeys/_index.adoc:870 #, no-wrap msgid "`{mtm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:870 +#: documentation/content/en/articles/pgpkeys/_index.adoc:873 #, no-wrap msgid "`{dwmalone}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:873 +#: documentation/content/en/articles/pgpkeys/_index.adoc:876 #, no-wrap msgid "`{christos}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:876 +#: documentation/content/en/articles/pgpkeys/_index.adoc:879 #, no-wrap msgid "`{marino}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:879 +#: documentation/content/en/articles/pgpkeys/_index.adoc:882 #, no-wrap msgid "`{cherry}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:882 +#: documentation/content/en/articles/pgpkeys/_index.adoc:885 #, no-wrap msgid "`{matusita}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:885 +#: documentation/content/en/articles/pgpkeys/_index.adoc:888 #, no-wrap msgid "`{mm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:888 +#: documentation/content/en/articles/pgpkeys/_index.adoc:891 #, no-wrap msgid "`{sem}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:891 +#: documentation/content/en/articles/pgpkeys/_index.adoc:894 #, no-wrap msgid "`{rcm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:894 +#: documentation/content/en/articles/pgpkeys/_index.adoc:897 #, no-wrap msgid "`{mckusick}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:897 +#: documentation/content/en/articles/pgpkeys/_index.adoc:900 #, no-wrap msgid "`{tmclaugh}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:900 +#: documentation/content/en/articles/pgpkeys/_index.adoc:903 #, no-wrap msgid "`{jmelo}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:903 +#: documentation/content/en/articles/pgpkeys/_index.adoc:906 #, no-wrap msgid "`{mmel}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:906 +#: documentation/content/en/articles/pgpkeys/_index.adoc:909 #, no-wrap msgid "`{jmmv}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:909 +#: documentation/content/en/articles/pgpkeys/_index.adoc:912 #, no-wrap msgid "`{kadesai}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:912 +#: documentation/content/en/articles/pgpkeys/_index.adoc:915 #, no-wrap msgid "`{ken}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:915 +#: documentation/content/en/articles/pgpkeys/_index.adoc:918 #, no-wrap msgid "`{markm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:918 +#: documentation/content/en/articles/pgpkeys/_index.adoc:921 #, no-wrap msgid "`{dinoex}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:921 +#: documentation/content/en/articles/pgpkeys/_index.adoc:924 #, no-wrap msgid "`{sanpei}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:924 +#: documentation/content/en/articles/pgpkeys/_index.adoc:927 #, no-wrap msgid "`{rmh}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:927 +#: documentation/content/en/articles/pgpkeys/_index.adoc:930 #, no-wrap msgid "`{driesm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:930 +#: documentation/content/en/articles/pgpkeys/_index.adoc:933 #, no-wrap msgid "`{jrm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:933 +#: documentation/content/en/articles/pgpkeys/_index.adoc:936 #, no-wrap msgid "`{freqlabs}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:936 +#: documentation/content/en/articles/pgpkeys/_index.adoc:939 #, no-wrap msgid "`{mmoll}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:939 +#: documentation/content/en/articles/pgpkeys/_index.adoc:942 #, no-wrap msgid "`{cmt}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:942 +#: documentation/content/en/articles/pgpkeys/_index.adoc:945 #, no-wrap msgid "`{stephen}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:945 +#: documentation/content/en/articles/pgpkeys/_index.adoc:948 #, no-wrap msgid "`{marcel}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:948 +#: documentation/content/en/articles/pgpkeys/_index.adoc:951 #, no-wrap msgid "`{dougm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:951 +#: documentation/content/en/articles/pgpkeys/_index.adoc:954 #, no-wrap msgid "`{kmoore}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:954 +#: documentation/content/en/articles/pgpkeys/_index.adoc:957 #, no-wrap msgid "`{marck}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:957 +#: documentation/content/en/articles/pgpkeys/_index.adoc:960 #, no-wrap msgid "`{mav}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:960 +#: documentation/content/en/articles/pgpkeys/_index.adoc:963 #, no-wrap msgid "`{rich}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:963 +#: documentation/content/en/articles/pgpkeys/_index.adoc:966 #, no-wrap msgid "`{knu}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:966 +#: documentation/content/en/articles/pgpkeys/_index.adoc:969 #, no-wrap msgid "`{tmm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:969 +#: documentation/content/en/articles/pgpkeys/_index.adoc:972 #, no-wrap msgid "`{max}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:972 +#: documentation/content/en/articles/pgpkeys/_index.adoc:975 #, no-wrap msgid "`{maho}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:975 +#: documentation/content/en/articles/pgpkeys/_index.adoc:978 #, no-wrap msgid "`{yoichi}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:978 +#: documentation/content/en/articles/pgpkeys/_index.adoc:981 #, no-wrap msgid "`{bland}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:981 +#: documentation/content/en/articles/pgpkeys/_index.adoc:984 #, no-wrap msgid "`{gnn}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:984 +#: documentation/content/en/articles/pgpkeys/_index.adoc:987 #, no-wrap msgid "`{khng}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:987 +#: documentation/content/en/articles/pgpkeys/_index.adoc:990 #, no-wrap msgid "`{simon}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:990 +#: documentation/content/en/articles/pgpkeys/_index.adoc:993 #, no-wrap msgid "`{rnoland}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:993 +#: documentation/content/en/articles/pgpkeys/_index.adoc:996 #, no-wrap msgid "`{anders}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:996 +#: documentation/content/en/articles/pgpkeys/_index.adoc:999 #, no-wrap msgid "`{lofi}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:999 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1002 #, no-wrap msgid "`{obrien}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1002 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1005 #, no-wrap msgid "`{olgeni}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1005 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1008 #, no-wrap msgid "`{philip}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1008 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1011 #, no-wrap msgid "`{jpaetzel}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1011 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1014 #, no-wrap msgid "`{zirias}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1014 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1017 #, no-wrap msgid "`{hiren}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1017 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1020 #, no-wrap msgid "`{hmp}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1020 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1023 #, no-wrap msgid "`{fluffy}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1023 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1026 #, no-wrap msgid "`{sat}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1026 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1029 #, no-wrap msgid "`{np}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1029 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1032 #, no-wrap msgid "`{royger}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1032 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1035 #, no-wrap msgid "`{rpaulo}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1035 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1038 #, no-wrap msgid "`{misha}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1038 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1041 #, no-wrap msgid "`{dumbbell}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1041 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1044 #, no-wrap msgid "`{rpokala}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1044 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1047 #, no-wrap msgid "`{mp}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1047 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1050 #, no-wrap msgid "`{roam}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1050 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1053 #, no-wrap msgid "`{den}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1053 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1056 #, no-wrap msgid "`{csjp}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1056 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1059 #, no-wrap msgid "`{grahamperrin}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1059 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1062 #, no-wrap msgid "`{gerald}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1062 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1065 #, no-wrap msgid "`{scottph}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1065 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1068 #, no-wrap msgid "`{jacula}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1068 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1071 #, no-wrap msgid "`{0mp}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1071 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1074 #, no-wrap msgid "`{jdp}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1074 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1077 #, no-wrap msgid "`{krion}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1077 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1080 #, no-wrap msgid "`{sepotvin}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1080 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1083 #, no-wrap msgid "`{cpm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1083 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1086 #, no-wrap msgid "`{markp}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1086 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1089 #, no-wrap msgid "`{alepulver}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1089 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1092 #, no-wrap msgid "`{kp}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1092 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1095 #, no-wrap msgid "`{thomas}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1095 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1098 #, no-wrap msgid "`{hq}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1098 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1101 #, no-wrap msgid "`{bofh}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1101 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1104 #, no-wrap msgid "`{fox}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1104 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1107 #, no-wrap msgid "`{lbr}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1107 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1110 #, no-wrap msgid "`{crees}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1110 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1113 #, no-wrap msgid "`{rees}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1113 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1116 #, no-wrap msgid "`{mr}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1116 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1119 #, no-wrap msgid "`{bcr}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1119 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1122 #, no-wrap msgid "`{trhodes}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1122 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1125 #, no-wrap msgid "`{benno}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1125 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1128 #, no-wrap msgid "`{beech}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1128 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1131 #, no-wrap msgid "`{roberto}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1131 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1134 #, no-wrap msgid "`{rodrigc}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1134 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1137 #, no-wrap msgid "`{michaelo}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1137 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1140 #, no-wrap msgid "`{igoro}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1140 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1143 +#, no-wrap +msgid "`{dtxdf}`" +msgstr "" + +#. type: Title === +#: documentation/content/en/articles/pgpkeys/_index.adoc:1146 #, no-wrap msgid "`{ler}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1143 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1149 #, no-wrap msgid "`{leres}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1146 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1152 #, no-wrap msgid "`{robak}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1149 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1155 #, no-wrap msgid "`{guido}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1152 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1158 #, no-wrap msgid "`{rea}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1155 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1161 #, no-wrap msgid "`{ray}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1158 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1164 #, no-wrap msgid "`{niklas}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1161 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1167 #, no-wrap msgid "`{salvadore}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1164 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1170 #, no-wrap msgid "`{bsam}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1167 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1173 #, no-wrap msgid "`{marks}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1170 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1176 #, no-wrap msgid "`{bschmidt}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1173 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1179 #, no-wrap msgid "`{wosch}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1176 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1182 #, no-wrap msgid "`{cy}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1179 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1185 #, no-wrap msgid "`{das}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1182 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1188 #, no-wrap msgid "`{scheidell}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1185 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1191 #, no-wrap msgid "`{matthew}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1188 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1194 #, no-wrap msgid "`{tmseck}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1191 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1197 #, no-wrap msgid "`{johans}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1194 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1200 #, no-wrap msgid "`{bakul}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1197 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1203 #, no-wrap msgid "`{gshapiro}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1200 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1206 #, no-wrap msgid "`{wxs}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1203 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1209 #, no-wrap msgid "`{nork}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1206 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1212 #, no-wrap msgid "`{syrinx}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1209 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1215 #, no-wrap msgid "`{vanilla}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1212 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1218 #, no-wrap msgid "`{ashafer}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1215 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1221 #, no-wrap msgid "`{ashish}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1218 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1224 #, no-wrap msgid "`{asiciliano}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1221 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1227 #, no-wrap msgid "`{chs}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1224 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1230 #, no-wrap msgid "`{bms}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1227 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1233 #, no-wrap msgid "`{demon}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1230 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1236 #, no-wrap msgid "`{jesper}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1233 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1239 #, no-wrap msgid "`{scop}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1236 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1242 #, no-wrap msgid "`{anray}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1239 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1245 #, no-wrap msgid "`{flo}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1245 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1251 #, no-wrap msgid "`{kensmith}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1248 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1254 #, no-wrap msgid "`{ben}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1251 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1257 #, no-wrap msgid "`{des}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1254 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1260 #, no-wrap msgid "`{sobomax}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1257 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1263 #, no-wrap msgid "`{asomers}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1260 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1266 #, no-wrap msgid "`{brian}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1263 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1269 #, no-wrap msgid "`{sson}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1266 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1272 #, no-wrap msgid "`{nsouch}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1269 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1275 #, no-wrap msgid "`{ssouhlal}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1272 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1278 #, no-wrap msgid "`{loos}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1275 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1281 #, no-wrap msgid "`{brnrd}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1278 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1284 #, no-wrap msgid "`{rink}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1281 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1287 #, no-wrap msgid "`{vsevolod}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1284 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1290 #, no-wrap msgid "`{pstef}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1287 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1293 #, no-wrap msgid "`{zi}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1290 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1296 #, no-wrap msgid "`{lstewart}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1293 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1299 #, no-wrap msgid "`{murray}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1296 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1302 #, no-wrap msgid "`{vs}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1299 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1305 #, no-wrap msgid "`{xride}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1302 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1308 #, no-wrap msgid "`{marius}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1305 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1311 #, no-wrap msgid "`{cs}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1308 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1314 #, no-wrap msgid "`{clsung}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1311 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1317 #, no-wrap msgid "`{gsutter}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1314 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1320 #, no-wrap msgid "`{metal}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1317 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1323 #, no-wrap msgid "`{ryusuke}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1320 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1326 #, no-wrap msgid "`{nyan}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1323 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1329 #, no-wrap msgid "`{sahil}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1326 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1332 #, no-wrap msgid "`{tota}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1329 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1335 #, no-wrap msgid "`{romain}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1332 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1338 #, no-wrap msgid "`{eduardo}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1335 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1341 #, no-wrap msgid "`{sylvio}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1338 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1344 #, no-wrap msgid "`{itetcu}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1341 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1347 #, no-wrap msgid "`{mi}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1344 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1350 #, no-wrap msgid "`{gordon}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1347 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1353 #, no-wrap msgid "`{lth}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1350 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1356 #, no-wrap msgid "`{fabient}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1353 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1359 #, no-wrap msgid "`{thierry}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1356 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1362 #, no-wrap msgid "`{thompsa}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1359 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1365 #, no-wrap msgid "`{flz}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1362 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1368 #, no-wrap msgid "`{jilles}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1365 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1371 #, no-wrap msgid "`{ganbold}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1368 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1374 #, no-wrap msgid "`{tuexen}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1371 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1377 #, no-wrap msgid "`{gonzo}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1374 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1380 #, no-wrap msgid "`{uzsolt}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1377 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1383 #, no-wrap msgid "`{ume}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1380 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1386 #, no-wrap msgid "`{ups}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1383 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1389 #, no-wrap msgid "`{fsu}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1386 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1392 #, no-wrap msgid "`{mikael}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1389 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1395 #, no-wrap msgid "`{manu}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1392 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1398 #, no-wrap msgid "`{ram}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1395 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1401 #, no-wrap msgid "`{bryanv}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1398 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1404 #, no-wrap msgid "`{nectar}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1401 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1407 #, no-wrap msgid "`{avilla}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1404 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1410 #, no-wrap msgid "`{nivit}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1407 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1413 #, no-wrap msgid "`{ivoras}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1410 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1416 #, no-wrap msgid "`{stefan}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1413 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1419 #, no-wrap msgid "`{kaiw}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1416 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1422 #, no-wrap msgid "`{adamw}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1419 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1425 #, no-wrap msgid "`{naddy}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1422 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1428 #, no-wrap msgid "`{peter}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1425 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1431 #, no-wrap msgid "`{nwhitehorn}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1428 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1434 #, no-wrap msgid "`{miwi}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1431 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1437 #, no-wrap msgid "`{nate}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1434 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1440 #, no-wrap msgid "`{twinterg}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1437 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1443 #, no-wrap msgid "`{def}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1440 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1446 #, no-wrap msgid "`{wollman}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1443 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1449 #, no-wrap msgid "`{joerg}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1446 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1452 #, no-wrap msgid "`{ygy}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1449 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1455 #, no-wrap msgid "`{emax}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1452 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1458 #, no-wrap msgid "`{oshogbo}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1455 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1461 #, no-wrap msgid "`{riggs}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1458 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1464 #, no-wrap msgid "`{egypcio}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1461 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1467 #, no-wrap msgid "`{bz}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1464 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1470 #, no-wrap msgid "`{dsl}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1467 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1473 #, no-wrap msgid "`{zeising}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1470 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1476 #, no-wrap msgid "`{phantom}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1473 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1479 #, no-wrap msgid "`{tz}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1476 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1482 #, no-wrap msgid "`{rigoletto}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1479 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1485 #, no-wrap msgid "`{kaktus}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1482 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1488 #, no-wrap msgid "`{samm}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1485 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1491 #, no-wrap msgid "`{arrowd}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1488 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1494 #, no-wrap msgid "`{ronald}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1491 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1497 #, no-wrap msgid "`{meta}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1494 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1500 #, no-wrap msgid "`{rnagy}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1497 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1503 #, no-wrap msgid "`{vvd}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1500 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1506 #, no-wrap msgid "`{gbe}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1503 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1509 #, no-wrap msgid "`{bnovkov}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1506 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1512 #, no-wrap msgid "`{ivy}`" msgstr "" +#. type: Title === +#: documentation/content/en/articles/pgpkeys/_index.adoc:1515 +#, no-wrap +msgid "`{khorben}`" +msgstr "" + +#. type: Title === +#: documentation/content/en/articles/pgpkeys/_index.adoc:1518 +#, no-wrap +msgid "`{vexeduxr}`" +msgstr "" + #. type: Title == -#: documentation/content/en/articles/pgpkeys/_index.adoc:1510 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1522 #, no-wrap msgid "Other Cluster Account Holders" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1512 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1524 #, no-wrap msgid "`{bk}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1515 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1527 #, no-wrap msgid "`{deb}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1518 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1530 #, no-wrap msgid "`{debdrup}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1521 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1533 #, no-wrap msgid "`{dutchdaemon}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1524 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1536 #, no-wrap msgid "`{keymaster}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1527 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1539 #, no-wrap msgid "`{mwlucas}`" msgstr "" #. type: Title === -#: documentation/content/en/articles/pgpkeys/_index.adoc:1530 +#: documentation/content/en/articles/pgpkeys/_index.adoc:1542 #, no-wrap msgid "`{dhw}`" msgstr "" diff --git a/documentation/content/en/articles/vm-design/_index.po b/documentation/content/en/articles/vm-design/_index.po index c9d38532d6..4c46c07fc1 100644 --- a/documentation/content/en/articles/vm-design/_index.po +++ b/documentation/content/en/articles/vm-design/_index.po @@ -1,1017 +1,875 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2023-09-09 18:13-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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: delimited block = 4 +#: documentation/content/en/articles/vm-design/_index.adoc:46 +msgid "" +"This document is outdated and some sections do not accurately describe the " +"current state of the VM system. It is retained for historical purposes and " +"may be updated over time." +msgstr "" + #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:44 +#: documentation/content/en/articles/vm-design/_index.adoc:50 msgid "Abstract" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:46 +#: documentation/content/en/articles/vm-design/_index.adoc:52 msgid "Matthew Dillon " msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:53 +#: documentation/content/en/articles/vm-design/_index.adoc:59 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:55 +#: documentation/content/en/articles/vm-design/_index.adoc:61 msgid "'''" msgstr "" #. type: Title == -#: documentation/content/en/articles/vm-design/_index.adoc:59 +#: documentation/content/en/articles/vm-design/_index.adoc:65 #, no-wrap msgid "Introduction" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:75 +#: documentation/content/en/articles/vm-design/_index.adoc:81 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:80 +#: documentation/content/en/articles/vm-design/_index.adoc:86 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:82 +#: documentation/content/en/articles/vm-design/_index.adoc:88 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:83 +#: documentation/content/en/articles/vm-design/_index.adoc:89 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:87 +#: documentation/content/en/articles/vm-design/_index.adoc:93 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:89 +#: documentation/content/en/articles/vm-design/_index.adoc:95 #, no-wrap msgid "VM Objects" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:99 +#: documentation/content/en/articles/vm-design/_index.adoc:105 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:105 +#: documentation/content/en/articles/vm-design/_index.adoc:111 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:112 +#: documentation/content/en/articles/vm-design/_index.adoc:118 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:121 +#: documentation/content/en/articles/vm-design/_index.adoc:127 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:122 +#: documentation/content/en/articles/vm-design/_index.adoc:128 #, no-wrap msgid "A picture" msgstr "" #. type: Target for macro image -#: documentation/content/en/articles/vm-design/_index.adoc:122 +#: documentation/content/en/articles/vm-design/_index.adoc:128 #, no-wrap msgid "fig1.png" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:127 +#: documentation/content/en/articles/vm-design/_index.adoc:133 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:128 +#: documentation/content/en/articles/vm-design/_index.adoc:134 #, no-wrap msgid "fig2.png" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:133 +#: documentation/content/en/articles/vm-design/_index.adoc:139 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:134 +#: documentation/content/en/articles/vm-design/_index.adoc:140 #, no-wrap msgid "fig3.png" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:145 +#: documentation/content/en/articles/vm-design/_index.adoc:151 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:146 +#: documentation/content/en/articles/vm-design/_index.adoc:152 #, no-wrap msgid "fig4.png" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:152 +#: documentation/content/en/articles/vm-design/_index.adoc:158 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:159 +#: documentation/content/en/articles/vm-design/_index.adoc:165 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:170 +#: documentation/content/en/articles/vm-design/_index.adoc:176 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:174 +#: documentation/content/en/articles/vm-design/_index.adoc:180 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:178 +#: documentation/content/en/articles/vm-design/_index.adoc:184 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:180 +#: documentation/content/en/articles/vm-design/_index.adoc:186 #, no-wrap msgid "SWAP Layers" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:188 +#: documentation/content/en/articles/vm-design/_index.adoc:194 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:190 +#: documentation/content/en/articles/vm-design/_index.adoc:196 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:191 +#: documentation/content/en/articles/vm-design/_index.adoc:197 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:192 +#: documentation/content/en/articles/vm-design/_index.adoc:198 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:193 +#: documentation/content/en/articles/vm-design/_index.adoc:199 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:194 +#: documentation/content/en/articles/vm-design/_index.adoc:200 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:195 +#: documentation/content/en/articles/vm-design/_index.adoc:201 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:198 +#: documentation/content/en/articles/vm-design/_index.adoc:204 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:200 +#: documentation/content/en/articles/vm-design/_index.adoc:206 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:201 +#: documentation/content/en/articles/vm-design/_index.adoc:207 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:202 +#: documentation/content/en/articles/vm-design/_index.adoc:208 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:203 +#: documentation/content/en/articles/vm-design/_index.adoc:209 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:205 +#: documentation/content/en/articles/vm-design/_index.adoc:211 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:207 +#: documentation/content/en/articles/vm-design/_index.adoc:213 #, no-wrap msgid "When to free a page" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:212 +#: documentation/content/en/articles/vm-design/_index.adoc:218 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:215 +#: documentation/content/en/articles/vm-design/_index.adoc:221 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:218 +#: documentation/content/en/articles/vm-design/_index.adoc:224 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:224 +#: documentation/content/en/articles/vm-design/_index.adoc:230 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:229 +#: documentation/content/en/articles/vm-design/_index.adoc:235 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:239 +#: documentation/content/en/articles/vm-design/_index.adoc:245 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:243 +#: documentation/content/en/articles/vm-design/_index.adoc:249 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:247 +#: documentation/content/en/articles/vm-design/_index.adoc:253 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:249 +#: documentation/content/en/articles/vm-design/_index.adoc:255 #, no-wrap msgid "Pre-Faulting and Zeroing Optimizations" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:259 +#: documentation/content/en/articles/vm-design/_index.adoc:265 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:268 +#: documentation/content/en/articles/vm-design/_index.adoc:274 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:270 +#: documentation/content/en/articles/vm-design/_index.adoc:276 #, no-wrap msgid "Page Table Optimizations" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:280 +#: documentation/content/en/articles/vm-design/_index.adoc:286 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:285 +#: documentation/content/en/articles/vm-design/_index.adoc:291 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:287 -#, no-wrap -msgid "Page Coloring" -msgstr "" - -#. type: Plain text -#: 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: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:306 +#: documentation/content/en/articles/vm-design/_index.adoc:293 #, no-wrap msgid "Conclusion" msgstr "" #. type: Plain text -#: documentation/content/en/articles/vm-design/_index.adoc:311 +#: documentation/content/en/articles/vm-design/_index.adoc:298 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:313 +#: documentation/content/en/articles/vm-design/_index.adoc:300 #, no-wrap msgid "Bonus QA session by Allen Briggs" msgstr "" #. type: Title === -#: documentation/content/en/articles/vm-design/_index.adoc:315 +#: documentation/content/en/articles/vm-design/_index.adoc:302 #, 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:321 +#: documentation/content/en/articles/vm-design/_index.adoc:308 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:324 +#: documentation/content/en/articles/vm-design/_index.adoc:311 #, 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:331 +#: documentation/content/en/articles/vm-design/_index.adoc:318 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:333 +#: documentation/content/en/articles/vm-design/_index.adoc:320 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:338 +#: documentation/content/en/articles/vm-design/_index.adoc:325 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:343 +#: documentation/content/en/articles/vm-design/_index.adoc:330 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:344 +#: documentation/content/en/articles/vm-design/_index.adoc:331 #, 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:349 +#: documentation/content/en/articles/vm-design/_index.adoc:336 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:351 +#: documentation/content/en/articles/vm-design/_index.adoc:338 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:352 +#: documentation/content/en/articles/vm-design/_index.adoc:339 #, 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:358 +#: documentation/content/en/articles/vm-design/_index.adoc:345 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:359 +#: documentation/content/en/articles/vm-design/_index.adoc:346 #, 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:363 +#: documentation/content/en/articles/vm-design/_index.adoc:350 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:366 +#: documentation/content/en/articles/vm-design/_index.adoc:353 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:373 +#: documentation/content/en/articles/vm-design/_index.adoc:360 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:375 +#: documentation/content/en/articles/vm-design/_index.adoc:362 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:379 +#: documentation/content/en/articles/vm-design/_index.adoc:366 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:383 +#: documentation/content/en/articles/vm-design/_index.adoc:369 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: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: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: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: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: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: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: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: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: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: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/kerneldebug/_index.po b/documentation/content/en/books/developers-handbook/kerneldebug/_index.po index 7e6bdfbd81..c67a6144db 100644 --- a/documentation/content/en/books/developers-handbook/kerneldebug/_index.po +++ b/documentation/content/en/books/developers-handbook/kerneldebug/_index.po @@ -1,1667 +1,1667 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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/developers-handbook/kerneldebug/_index.adoc:1 #, no-wrap msgid "FreeBSD Kernel Debugging" msgstr "" #. type: YAML Front Matter: title #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:1 #, no-wrap msgid "Chapter 10. Kernel Debugging" msgstr "" #. type: Title = #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:18 #, no-wrap msgid "Kernel Debugging" msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:56 #, no-wrap msgid "Obtaining a Kernel Crash Dump" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:61 msgid "" "When running a development kernel (e.g., FreeBSD-CURRENT), such as a kernel " "under extreme conditions (e.g., very high load averages, tens of thousands " "of connections, exceedingly high number of concurrent users, hundreds of " "man:jail[8]s, etc.), or using a new feature or device driver on FreeBSD-" "STABLE (e.g., PAE), sometimes a kernel will panic. In the event that it " "does, this chapter will demonstrate how to extract useful information out of " "a crash." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:66 msgid "" "A system reboot is inevitable once a kernel panics. Once a system is " "rebooted, the contents of a system's physical memory (RAM) is lost, as well " "as any bits that are on the swap device before the panic. To preserve the " "bits in physical memory, the kernel makes use of the swap device as a " "temporary place to store the bits that are in RAM across a reboot after a " "crash. In doing this, when FreeBSD boots after a crash, a kernel image can " "now be extracted and debugging can take place." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:72 msgid "" "A swap device that has been configured as a dump device still acts as a swap " "device. Dumps to non-swap devices (such as tapes or CDRWs, for example) are " "not supported at this time. A \"swap device\" is synonymous with a \"swap " "partition.\"" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:75 msgid "Several types of kernel crash dumps are available:" msgstr "" #. type: Labeled list #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:76 #, no-wrap msgid "Full memory dumps" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:78 msgid "Hold the complete contents of physical memory." msgstr "" #. type: Labeled list #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:79 #, no-wrap msgid "Minidumps" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:81 msgid "Hold only memory pages in use by the kernel (FreeBSD 6.2 and higher)." msgstr "" #. type: Labeled list #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:82 #, no-wrap msgid "Textdumps" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:84 msgid "" "Hold captured, scripted, or interactive debugger output (FreeBSD 7.1 and " "higher)." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:86 msgid "" "Minidumps are the default dump type as of FreeBSD 7.0, and in most cases " "will capture all necessary information present in a full memory dump, as " "most problems can be isolated only using kernel state." msgstr "" #. type: Title === #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:88 #, no-wrap msgid "Configuring the Dump Device" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:96 msgid "" "Before the kernel will dump the contents of its physical memory to a dump " "device, a dump device must be configured. A dump device is specified by " "using the man:dumpon[8] command to tell the kernel where to save kernel " "crash dumps. The man:dumpon[8] program must be called after the swap " "partition has been configured with man:swapon[8]. This is normally handled " "by setting the `dumpdev` variable in man:rc.conf[5] to the path of the swap " "device (the recommended way to extract a kernel dump) or `AUTO` to use the " "first configured swap device. The default for `dumpdev` is `AUTO` in HEAD, " "and changed to `NO` on RELENG_* branches (except for RELENG_7, which was " "left set to `AUTO`). On FreeBSD 9.0-RELEASE and later versions, bsdinstall " "will ask whether crash dumps should be enabled on the target system during " "the install process." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:100 msgid "" "Check [.filename]#/etc/fstab# or man:swapinfo[8] for a list of swap devices." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:105 msgid "" "Make sure the `dumpdir` specified in man:rc.conf[5] exists before a kernel " "crash!" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:110 #, no-wrap msgid "" "# mkdir /var/crash\n" "# chmod 700 /var/crash\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:113 msgid "" "Also, remember that the contents of [.filename]#/var/crash# is sensitive and " "very likely contains confidential information such as passwords." msgstr "" #. type: Title === #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:116 #, no-wrap msgid "Extracting a Kernel Dump" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:122 msgid "" "Once a dump has been written to a dump device, the dump must be extracted " "before the swap device is mounted. To extract a dump from a dump device, " "use the man:savecore[8] program. If `dumpdev` has been set in " "man:rc.conf[5], man:savecore[8] will be called automatically on the first " "multi-user boot after the crash and before the swap device is mounted. The " "location of the extracted core is placed in the man:rc.conf[5] value " "`dumpdir`, by default [.filename]#/var/crash# and will be named " "[.filename]#vmcore.0#." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:126 msgid "" "In the event that there is already a file called [.filename]#vmcore.0# in " "[.filename]#/var/crash# (or whatever `dumpdir` is set to), the kernel will " "increment the trailing number for every crash to avoid overwriting an " "existing [.filename]#vmcore# (e.g., [.filename]#vmcore.1#). man:savecore[8] " "will always create a symbolic link to named [.filename]#vmcore.last# in " "[.filename]#/var/crash# after a dump is saved. This symbolic link can be " "used to locate the name of the most recent dump." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:130 msgid "" "The man:crashinfo[8] utility generates a text file containing a summary of " "information from a full memory dump or minidump. If `dumpdev` has been set " "in man:rc.conf[5], man:crashinfo[8] will be invoked automatically after " "man:savecore[8]. The output is saved to a file in `dumpdir` named " "[.filename]#core.txt.N#." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:135 msgid "" "If you are testing a new kernel but need to boot a different one in order to " "get your system up and running again, boot it only into single user mode " "using the `-s` flag at the boot prompt, and then perform the following steps:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:142 #, no-wrap msgid "" "# fsck -p\n" "# mount -a -t ufs # make sure /var/crash is writable\n" "# savecore /var/crash /dev/ad0s1b\n" "# exit # exit to multi-user\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:147 msgid "" "This instructs man:savecore[8] to extract a kernel dump from [.filename]#/" "dev/ad0s1b# and place the contents in [.filename]#/var/crash#. Do not " "forget to make sure the destination directory [.filename]#/var/crash# has " "enough space for the dump. Also, do not forget to specify the correct path " "to your swap device as it is likely different than [.filename]#/dev/ad0s1b#!" msgstr "" #. type: Title === #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:149 #, no-wrap msgid "Testing Kernel Dump Configuration" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:154 msgid "" "The kernel includes a man:sysctl[8] node that requests a kernel panic. This " "can be used to verify that your system is properly configured to save kernel " "crash dumps. You may wish to remount existing file systems as read-only in " "single user mode before triggering the crash to avoid data loss." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:164 #, no-wrap msgid "" "# shutdown now\n" "...\n" "Enter full pathname of shell or RETURN for /bin/sh:\n" "# mount -a -u -r\n" "# sysctl debug.kdb.panic=1\n" "debug.kdb.panic:panic: kdb_sysctl_panic\n" "...\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:167 msgid "" "After rebooting, your system should save a dump in [.filename]#/var/crash# " "along with a matching summary from man:crashinfo[8]." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:169 #, no-wrap msgid "Debugging a Kernel Crash Dump with `kgdb`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:176 msgid "" "This section covers man:kgdb[1]. The latest version is included in the " "package:devel/gdb[]. An older version is also present in FreeBSD 11 and " "earlier." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:179 msgid "" "To enter into the debugger and begin getting information from the dump, " "start kgdb:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:183 #, no-wrap msgid "# kgdb -n N\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:187 msgid "" "Where _N_ is the suffix of the [.filename]#vmcore.N# to examine. To open " "the most recent dump use:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:191 #, no-wrap msgid "# kgdb -n last\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:195 msgid "" "Normally, man:kgdb[1] should be able to locate the kernel running at the " "time the dump was generated. If it is not able to locate the correct " "kernel, pass the pathname of the kernel and dump as two arguments to kgdb:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:199 #, no-wrap msgid "# kgdb /boot/kernel/kernel /var/crash/vmcore.0\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:202 msgid "" "You can debug the crash dump using the kernel sources just like you can for " "any other program." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:209 msgid "" "This dump is from a 5.2-BETA kernel and the crash comes from deep within the " "kernel. The output below has been modified to include line numbers on the " "left. This first trace inspects the instruction pointer and obtains a back " "trace. The address that is used on line 41 for the `list` command is the " "instruction pointer and can be found on line 17. Most developers will " "request having at least this information sent to them if you are unable to " "debug the problem yourself. If, however, you do solve the problem, make " "sure that your patch winds its way into the source tree via a problem " "report, mailing lists, or by being able to commit it!" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:302 #, no-wrap msgid "" " 1:# cd /usr/obj/usr/src/sys/KERNCONF\n" " 2:# kgdb kernel.debug /var/crash/vmcore.0\n" " 3:GNU gdb 5.2.1 (FreeBSD)\n" " 4:Copyright 2002 Free Software Foundation, Inc.\n" " 5:GDB is free software, covered by the GNU General Public License, and you are\n" " 6:welcome to change it and/or distribute copies of it under certain conditions.\n" " 7:Type \"show copying\" to see the conditions.\n" " 8:There is absolutely no warranty for GDB. Type \"show warranty\" for details.\n" " 9:This GDB was configured as \"i386-undermydesk-freebsd\"...\n" "10:panic: page fault\n" "11:panic messages:\n" "12:---\n" "13:Fatal trap 12: page fault while in kernel mode\n" "14:cpuid = 0; apic id = 00\n" "15:fault virtual address = 0x300\n" "16:fault code: = supervisor read, page not present\n" "17:instruction pointer = 0x8:0xc0713860\n" "18:stack pointer = 0x10:0xdc1d0b70\n" "19:frame pointer = 0x10:0xdc1d0b7c\n" "20:code segment = base 0x0, limit 0xfffff, type 0x1b\n" "21: = DPL 0, pres 1, def32 1, gran 1\n" "22:processor eflags = resume, IOPL = 0\n" "23:current process = 14394 (uname)\n" "24:trap number = 12\n" "25:panic: page fault\n" "26 cpuid = 0;\n" "27:Stack backtrace:\n" "28\n" "29:syncing disks, buffers remaining... 2199 2199 panic: mi_switch: switch in a critical section\n" "30:cpuid = 0;\n" "31:Uptime: 2h43m19s\n" "32:Dumping 255 MB\n" "33: 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240\n" "34:---\n" "35:Reading symbols from /boot/kernel/snd_maestro3.ko...done.\n" "36:Loaded symbols for /boot/kernel/snd_maestro3.ko\n" "37:Reading symbols from /boot/kernel/snd_pcm.ko...done.\n" "38:Loaded symbols for /boot/kernel/snd_pcm.ko\n" "39:#0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240\n" "40:240 dumping++;\n" "41:(kgdb) list *0xc0713860\n" "42:0xc0713860 is in lapic_ipi_wait (/usr/src/sys/i386/i386/local_apic.c:663).\n" "43:658 incr = 0;\n" "44:659 delay = 1;\n" "45:660 } else\n" "46:661 incr = 1;\n" "47:662 for (x = 0; x < delay; x += incr) {\n" "48:663 if ((lapic->icr_lo & APIC_DELSTAT_MASK) == APIC_DELSTAT_IDLE)\n" "49:664 return (1);\n" "50:665 ia32_pause();\n" "51:666 }\n" "52:667 return (0);\n" "53:(kgdb) backtrace\n" "54:#0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240\n" "55:#1 0xc055fd9b in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:372\n" "56:#2 0xc056019d in panic () at /usr/src/sys/kern/kern_shutdown.c:550\n" "57:#3 0xc0567ef5 in mi_switch () at /usr/src/sys/kern/kern_synch.c:470\n" "58:#4 0xc055fa87 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:312\n" "59:#5 0xc056019d in panic () at /usr/src/sys/kern/kern_shutdown.c:550\n" "60:#6 0xc0720c66 in trap_fatal (frame=0xdc1d0b30, eva=0)\n" "61: at /usr/src/sys/i386/i386/trap.c:821\n" "62:#7 0xc07202b3 in trap (frame=\n" "63: {tf_fs = -1065484264, tf_es = -1065484272, tf_ds = -1065484272, tf_edi = 1, tf_esi = 0, tf_ebp = -602076292, tf_isp = -602076324, tf_ebx = 0, tf_edx = 0, tf_ecx = 1000000, tf_eax = 243, tf_trapno = 12, tf_err = 0, tf_eip = -1066321824, tf_cs = 8, tf_eflags = 65671, tf_esp = 243, tf_ss = 0})\n" "64: at /usr/src/sys/i386/i386/trap.c:250\n" "65:#8 0xc070c9f8 in calltrap () at {standard input}:94\n" "66:#9 0xc07139f3 in lapic_ipi_vectored (vector=0, dest=0)\n" "67: at /usr/src/sys/i386/i386/local_apic.c:733\n" "68:#10 0xc0718b23 in ipi_selected (cpus=1, ipi=1)\n" "69: at /usr/src/sys/i386/i386/mp_machdep.c:1115\n" "70:#11 0xc057473e in kseq_notify (ke=0xcc05e360, cpu=0)\n" "71: at /usr/src/sys/kern/sched_ule.c:520\n" "72:#12 0xc0575cad in sched_add (td=0xcbcf5c80)\n" "73: at /usr/src/sys/kern/sched_ule.c:1366\n" "74:#13 0xc05666c6 in setrunqueue (td=0xcc05e360)\n" "75: at /usr/src/sys/kern/kern_switch.c:422\n" "76:#14 0xc05752f4 in sched_wakeup (td=0xcbcf5c80)\n" "77: at /usr/src/sys/kern/sched_ule.c:999\n" "78:#15 0xc056816c in setrunnable (td=0xcbcf5c80)\n" "79: at /usr/src/sys/kern/kern_synch.c:570\n" "80:#16 0xc0567d53 in wakeup (ident=0xcbcf5c80)\n" "81: at /usr/src/sys/kern/kern_synch.c:411\n" "82:#17 0xc05490a8 in exit1 (td=0xcbcf5b40, rv=0)\n" "83: at /usr/src/sys/kern/kern_exit.c:509\n" "84:#18 0xc0548011 in sys_exit () at /usr/src/sys/kern/kern_exit.c:102\n" "85:#19 0xc0720fd0 in syscall (frame=\n" "86: {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 0, tf_esi = -1, tf_ebp = -1077940712, tf_isp = -602075788, tf_ebx = 672411944, tf_edx = 10, tf_ecx = 672411600, tf_eax = 1, tf_trapno = 12, tf_err = 2, tf_eip = 671899563, tf_cs = 31, tf_eflags = 642, tf_esp = -1077940740, tf_ss = 47})\n" "87: at /usr/src/sys/i386/i386/trap.c:1010\n" "88:#20 0xc070ca4d in Xint0x80_syscall () at {standard input}:136\n" "89:---Can't read userspace from dump, or kernel process---\n" "90:(kgdb) quit\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:308 msgid "" "If your system is crashing regularly and you are running out of disk space, " "deleting old [.filename]#vmcore# files in [.filename]#/var/crash# could save " "a considerable amount of disk space!" msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:311 #, no-wrap msgid "On-Line Kernel Debugging Using DDB" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:315 msgid "" "While `kgdb` as an off-line debugger provides a very high level of user " "interface, there are some things it cannot do. The most important ones " "being breakpointing and single-stepping kernel code." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:319 msgid "" "If you need to do low-level debugging on your kernel, there is an on-line " "debugger available called DDB. It allows setting of breakpoints, single-" "stepping kernel functions, examining and changing kernel variables, etc. " "However, it cannot access kernel source files, and only has access to the " "global and static symbols, not to the full debug information like `kgdb` " "does." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:321 msgid "To configure your kernel to include DDB, add the options" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:324 #, no-wrap msgid "options KDB\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:329 #, no-wrap msgid "options DDB\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:333 msgid "" "to your config file, and rebuild. (See extref:{handbook}[The FreeBSD " "Handbook] for details on configuring the FreeBSD kernel)." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:339 msgid "" "Once your DDB kernel is running, there are several ways to enter DDB. The " "first, and earliest way is to use the boot flag `-d`. The kernel will start " "up in debug mode and enter DDB prior to any device probing. Hence you can " "even debug the device probe/attach functions. To use this, exit the " "loader's boot menu and enter `boot -d` at the loader prompt." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:343 msgid "" "The second scenario is to drop to the debugger once the system has booted. " "There are two simple ways to accomplish this. If you would like to break to " "the debugger from the command prompt, simply type the command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:347 #, no-wrap msgid "# sysctl debug.kdb.enter=1\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:354 msgid "" "Alternatively, if you are at the system console, you may use a hot-key on " "the keyboard. The default break-to-debugger sequence is kbd:" "[Ctrl+Alt+ESC]. For syscons, this sequence can be remapped and some of the " "distributed maps out there do this, so check to make sure you know the right " "sequence to use. There is an option available for serial consoles that " "allows the use of a serial line BREAK on the console line to enter DDB " "(`options BREAK_TO_DEBUGGER` in the kernel config file). It is not the " "default since there are a lot of serial adapters around that gratuitously " "generate a BREAK condition, for example when pulling the cable." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:357 msgid "" "The third way is that any panic condition will branch to DDB if the kernel " "is configured to use it. For this reason, it is not wise to configure a " "kernel with DDB for a machine running unattended." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:359 msgid "To obtain the unattended functionality, add:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:363 #, no-wrap msgid "options\tKDB_UNATTENDED\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:366 msgid "to the kernel configuration file and rebuild/reinstall." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:369 msgid "" "The DDB commands roughly resemble some `gdb` commands. The first thing you " "probably need to do is to set a breakpoint:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:373 #, no-wrap msgid " break function-name address\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:378 msgid "" "Numbers are taken hexadecimal by default, but to make them distinct from " "symbol names; hexadecimal numbers starting with the letters `a-f` need to be " "preceded with `0x` (this is optional for other numbers). Simple expressions " "are allowed, for example: `function-name + 0x103`." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:380 msgid "To exit the debugger and continue execution, type:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:384 #, no-wrap msgid " continue\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:387 msgid "To get a stack trace of the current thread, use:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:391 #, no-wrap msgid " trace\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:394 msgid "" "To get a stack trace of an arbitrary thread, specify a process ID or thread " "ID as a second argument to `trace`." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:396 msgid "If you want to remove a breakpoint, use" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:401 #, no-wrap msgid "" " del\n" " del address-expression\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:405 msgid "" "The first form will be accepted immediately after a breakpoint hit, and " "deletes the current breakpoint. The second form can remove any breakpoint, " "but you need to specify the exact address; this can be obtained from:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:409 #, no-wrap msgid " show b\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:412 msgid "or:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:416 #, no-wrap msgid " show break\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:419 msgid "To single-step the kernel, try:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:423 #, no-wrap msgid " s\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:426 msgid "" "This will step into functions, but you can make DDB trace them until the " "matching return statement is reached by:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:430 #, no-wrap msgid " n\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:436 msgid "" "This is different from ``gdb``'s `next` statement; it is like ``gdb``'s " "`finish`. Pressing kbd:[n] more than once will cause a continue." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:439 msgid "To examine data from memory, use (for example):" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:446 #, no-wrap msgid "" " x/wx 0xf0133fe0,40\n" " x/hd db_symtab_space\n" " x/bc termbuf,10\n" " x/s stringbuf\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:451 msgid "" "for word/halfword/byte access, and hexadecimal/decimal/character/ string " "display. The number after the comma is the object count. To display the " "next 0x10 items, simply use:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:455 #, no-wrap msgid " x ,10\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:458 msgid "Similarly, use" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:462 #, no-wrap msgid " x/ia foofunc,10\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:465 msgid "" "to disassemble the first 0x10 instructions of `foofunc`, and display them " "along with their offset from the beginning of `foofunc`." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:467 msgid "To modify memory, use the write command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:472 #, no-wrap msgid "" " w/b termbuf 0xa 0xb 0\n" " w/w 0xf0010030 0 0\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:476 msgid "" "The command modifier (`b`/`h`/`w`) specifies the size of the data to be " "written, the first following expression is the address to write to and the " "remainder is interpreted as data to write to successive memory locations." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:478 msgid "If you need to know the current registers, use:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:482 #, no-wrap msgid " show reg\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:485 msgid "Alternatively, you can display a single register value by e.g." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:489 #, no-wrap msgid " p $eax\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:492 msgid "and modify it by:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:496 #, no-wrap msgid " set $eax new-value\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:499 msgid "Should you need to call some kernel functions from DDB, simply say:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:503 #, no-wrap msgid " call func(arg1, arg2, ...)\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:506 msgid "The return value will be printed." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:508 msgid "For a man:ps[1] style summary of all running processes, use:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:512 #, no-wrap msgid " ps\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:517 msgid "" "Now you have examined why your kernel failed, and you wish to reboot. " "Remember that, depending on the severity of previous malfunctioning, not all " "parts of the kernel might still be working as expected. Perform one of the " "following actions to shut down and reboot your system:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:521 #, no-wrap msgid " panic\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:524 msgid "" "This will cause your kernel to dump core and reboot, so you can later " "analyze the core on a higher level with man:kgdb[1]." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:528 #, no-wrap msgid " call boot(0)\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:532 msgid "" "Might be a good way to cleanly shut down the running system, `sync()` all " "disks, and finally, in some cases, reboot. As long as the disk and " "filesystem interfaces of the kernel are not damaged, this could be a good " "way for an almost clean shutdown." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:536 #, no-wrap msgid " reset\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:539 msgid "" "This is the final way out of disaster and almost the same as hitting the Big " "Red Button." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:541 msgid "If you need a short command summary, simply type:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:545 #, no-wrap msgid " help\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:549 msgid "" "It is highly recommended to have a printed copy of the man:ddb[4] manual " "page ready for a debugging session. Remember that it is hard to read the on-" "line manual while single-stepping the kernel." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:551 #, no-wrap msgid "On-Line Kernel Debugging Using Remote GDB" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:555 msgid "" "The FreeBSD kernel provides a second KDB backend for on-line debugging: " "man:gdb[4]. This feature has been supported since FreeBSD 2.2, and it is " "actually a very neat one." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:561 msgid "" "GDB has supported _remote debugging_ for a long time. This is done using a " "very simple protocol along a serial line. Unlike the other debugging " "methods described above, you will need two machines for doing this. One is " "the host providing the debugging environment, including all the sources, and " "a copy of the kernel binary with all the symbols in it. The other is the " "target machine that runs a copy of the very same kernel (optionally stripped " "of the debugging information)." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:563 msgid "" "In order to use remote GDB, ensure that the following options are present in " "your kernel configuration:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:568 #, no-wrap msgid "" "makeoptions DEBUG=-g\n" "options KDB\n" "options GDB\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:571 msgid "" "Note that the `GDB` option is turned off by default in `GENERIC` kernels on " "-STABLE and -RELEASE branches, but enabled on -CURRENT." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:575 msgid "" "Once built, copy the kernel to the target machine, and boot it. Connect the " "serial line of the target machine that has \"flags 080\" set on its uart " "device to any serial line of the debugging host. See man:uart[4] for " "information on how to set the flags on a uart device." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:578 msgid "" "The target machine must be made to enter the GDB backend, either due to a " "panic or by taking a purposeful trap into the debugger. Before doing this, " "select the GDB debugger backend:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:582 #, no-wrap msgid "" "# sysctl debug.kdb.current=gdb\n" "debug.kdb.current: ddb -> gdb\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:589 msgid "" "The supported backends can be listed by the `debug.kdb.available` sysctl. " "If the kernel configuration includes `options DDB`, then man:ddb[4] will be " "selected by default. If `gdb` does not appear in the list of available " "backends, then the debug serial port may not have been configured correctly." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:592 msgid "Then, force entry to the debugger:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:596 #, no-wrap msgid "" "# sysctl debug.kdb.enter=1\n" "debug.kdb.enter: 0KDB: enter: sysctl debug.kdb.enter\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:600 msgid "" "The target machine now awaits connection from a remote GDB client. On the " "debugging machine, go to the compile directory of the target kernel, and " "start `gdb`:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:611 #, no-wrap msgid "" "# cd /usr/obj/usr/src/amd64.amd64/sys/GENERIC/\n" "# kgdb kernel\n" "GNU gdb (GDB) 10.2 [GDB v10.2 for FreeBSD]\n" "Copyright (C) 2021 Free Software Foundation, Inc.\n" "...\n" "Reading symbols from kernel...\n" "Reading symbols from /usr/obj/usr/src/amd64.amd64/sys/GENERIC/kernel.debug...\n" "(kgdb)\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:614 msgid "" "Initialize the remote debugging session (assuming the first serial port is " "being used) by:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:618 #, no-wrap msgid "(kgdb) target remote /dev/cuau0\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:621 msgid "Your hosting GDB will now gain control over the target kernel:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:628 #, no-wrap msgid "" "Remote debugging using /dev/cuau0\n" "kdb_enter (why=, msg=) at /usr/src/sys/kern/subr_kdb.c:506\n" "506 kdb_why = KDB_WHY_UNSET;\n" "(kgdb)\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:636 msgid "" "Depending on the compiler used, some local variables may appear as " "``, preventing them from being inspected directly by `gdb`. " "If this causes problems while debugging, it is possible to build the kernel " "at a decreased optimization level, which may improve the visibility of some " "variables. This can be done by passing `COPTFLAGS=-O1` to man:make[1]. " "However, certain classes of kernel bugs may manifest differently (or not at " "all) when the optimization level is changed." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:640 msgid "" "You can use this session almost as any other GDB session, including full " "access to the source, running it in gud-mode inside an Emacs window (which " "gives you an automatic source code display in another Emacs window), etc." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:642 #, no-wrap msgid "Debugging a Console Driver" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:648 msgid "" "Since you need a console driver to run DDB on, things are more complicated " "if the console driver itself is failing. You might remember the use of a " "serial console (either with modified boot blocks, or by specifying `-h` at " "the `Boot:` prompt), and hook up a standard terminal onto your first serial " "port. DDB works on any configured console driver, including a serial " "console." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:650 #, no-wrap msgid "Debugging Deadlocks" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:655 msgid "" "You may experience so called deadlocks, a situation where a system stops " "doing useful work. To provide a helpful bug report in this situation, use " "man:ddb[4] as described in the previous section. Include the output of `ps` " "and `trace` for suspected processes in the report." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:659 msgid "" "If possible, consider doing further investigation. The recipe below is " "especially useful if you suspect that a deadlock occurs in the VFS layer. " "Add these options to the kernel configuration file." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:670 #, no-wrap msgid "" "makeoptions \tDEBUG=-g\n" "options \tINVARIANTS\n" "options \tINVARIANT_SUPPORT\n" "options \tWITNESS\n" "options \tWITNESS_SKIPSPIN\n" "options \tDEBUG_LOCKS\n" "options \tDEBUG_VFS_LOCKS\n" "options \tDIAGNOSTIC\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:673 msgid "" "When a deadlock occurs, in addition to the output of the `ps` command, " "provide information from the `show pcpu`, `show allpcpu`, `show locks`, " "`show alllocks`, `show lockedvnods` and `alltrace`." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:675 msgid "" "To obtain meaningful backtraces for threaded processes, use `thread thread-" "id` to switch to the thread stack, and do a backtrace with `where`." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:677 #, no-wrap msgid "Kernel debugging with Dcons" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:683 msgid "" "man:dcons[4] is a very simple console driver that is not directly connected " "with any physical devices. It just reads and writes characters from and to " "a buffer in a kernel or loader. Due to its simple nature, it is very useful " "for kernel debugging, especially with a FireWire(R) device. Currently, " "FreeBSD provides two ways to interact with the buffer from outside of the " "kernel using man:dconschat[8]." msgstr "" #. type: Title === #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:684 #, no-wrap msgid "Dcons over FireWire(R)" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:692 msgid "" "Most FireWire(R) (IEEE1394) host controllers are based on the OHCI " "specification that supports physical access to the host memory. This means " "that once the host controller is initialized, we can access the host memory " "without the help of software (kernel). We can exploit this facility for " "interaction with man:dcons[4]. man:dcons[4] provides similar functionality " "as a serial console. It emulates two serial ports, one for the console and " "DDB, the other for GDB. Since remote memory access is fully handled by the " "hardware, the man:dcons[4] buffer is accessible even when the system crashes." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:695 msgid "" "FireWire(R) devices are not limited to those integrated into motherboards. " "PCI cards exist for desktops, and a cardbus interface can be purchased for " "laptops." msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:696 #, no-wrap msgid "Enabling FireWire(R) and Dcons support on the target machine" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:699 msgid "" "To enable FireWire(R) and Dcons support in the kernel of the _target " "machine_:" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:701 msgid "" "Make sure your kernel supports `dcons`, `dcons_crom` and `firewire`. `Dcons` " "should be statically linked with the kernel. For `dcons_crom` and " "`firewire`, modules should be OK." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:702 msgid "" "Make sure physical DMA is enabled. You may need to add " "`hw.firewire.phydma_enable=1` to [.filename]#/boot/loader.conf#." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:703 msgid "Add options for debugging." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:704 msgid "" "Add `dcons_gdb=1` in [.filename]#/boot/loader.conf# if you use GDB over " "FireWire(R)." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:705 msgid "Enable `dcons` in [.filename]#/etc/ttys#." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:706 msgid "" "Optionally, to force `dcons` to be the high-level console, add " "`hw.firewire.dcons_crom.force_console=1` to [.filename]#loader.conf#." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:708 msgid "" "To enable FireWire(R) and Dcons support in man:loader[8] on i386 or amd64:" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:710 msgid "" "Add `LOADER_FIREWIRE_SUPPORT=YES` in [.filename]#/etc/make.conf# and rebuild " "man:loader[8]:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:714 #, no-wrap msgid "# cd /sys/boot/i386 && make clean && make && make install\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:717 msgid "" "To enable man:dcons[4] as an active low-level console, add " "`boot_multicons=\"YES\"` to [.filename]#/boot/loader.conf#." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:720 msgid "" "Here are a few configuration examples. A sample kernel configuration file " "would contain:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:729 #, no-wrap msgid "" "device dcons\n" "device dcons_crom\n" "options KDB\n" "options DDB\n" "options GDB\n" "options ALT_BREAK_TO_DEBUGGER\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:732 msgid "And a sample [.filename]#/boot/loader.conf# would contain:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:740 #, no-wrap msgid "" "dcons_crom_load=\"YES\"\n" "dcons_gdb=1\n" "boot_multicons=\"YES\"\n" "hw.firewire.phydma_enable=1\n" "hw.firewire.dcons_crom.force_console=1\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:742 #, no-wrap msgid "Enabling FireWire(R) and Dcons support on the host machine" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:745 msgid "To enable FireWire(R) support in the kernel on the _host machine_:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:749 #, no-wrap msgid "# kldload firewire\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:752 msgid "" "Find out the EUI64 (the unique 64 bit identifier) of the FireWire(R) host " "controller, and use man:fwcontrol[8] or `dmesg` to find the EUI64 of the " "target machine." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:754 msgid "Run man:dconschat[8], with:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:758 #, no-wrap msgid "# dconschat -e \\# -br -G 12345 -t 00-11-22-33-44-55-66-77\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:761 msgid "" "The following key combinations can be used once man:dconschat[8] is running:" msgstr "" #. type: Table #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:767 #, no-wrap msgid "kbd:[~+.]" msgstr "" #. type: Table #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:769 #, no-wrap msgid "Disconnect" msgstr "" #. type: Table #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:770 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:773 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:776 #, no-wrap msgid "kbd:[~]" msgstr "" #. type: Table #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:772 #, no-wrap msgid "ALT BREAK" msgstr "" #. type: Table #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:775 #, no-wrap msgid "RESET target" msgstr "" #. type: Table #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:777 #, no-wrap msgid "Suspend dconschat" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:780 msgid "" "Attach remote GDB by starting man:kgdb[1] with a remote debugging session:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:784 #, no-wrap msgid " kgdb -r :12345 kernel\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:786 #, no-wrap msgid "Some general tips" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:789 msgid "Here are some general tips:" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:791 msgid "" "To take full advantage of the speed of FireWire(R), disable other slow " "console drivers:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:796 #, no-wrap msgid "" "# conscontrol delete ttyd0\t # serial console\n" "# conscontrol delete consolectl\t# video/keyboard\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:799 msgid "" "There exists a GDB mode for man:emacs[1]; this is what you will need to add " "to your [.filename]#.emacs#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:806 #, no-wrap msgid "" "(setq gud-gdba-command-name \"kgdb -a -a -a -r :12345\")\n" "(setq gdb-many-windows t)\n" "(xterm-mouse-mode 1)\n" "M-x gdba\n" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:818 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:808 #, no-wrap msgid "Dcons with KVM" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:822 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:812 msgid "" "We can directly read the man:dcons[4] buffer via [.filename]#/dev/mem# for " "live systems, and in the core dump for crashed systems. These give you " "similar output to `dmesg -a`, but the man:dcons[4] buffer includes more " "information." msgstr "" #. type: Title ==== -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:823 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:813 #, no-wrap msgid "Using Dcons with KVM" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:826 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:816 msgid "To use man:dcons[4] with KVM:" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:828 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:818 msgid "Dump a man:dcons[4] buffer of a live system:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:832 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:822 #, no-wrap msgid "# dconschat -1\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:835 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:825 msgid "Dump a man:dcons[4] buffer of a crash dump:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:839 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:829 #, no-wrap msgid "# dconschat -1 -M vmcore.XX\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:842 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:832 msgid "Live core debugging can be done via:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:847 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:837 #, no-wrap msgid "" "# fwcontrol -m target_eui64\n" "# kgdb kernel /dev/fwmem0.2\n" msgstr "" #. type: Title == -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:850 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:840 #, no-wrap msgid "Glossary of Kernel Options for Debugging" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:853 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:843 msgid "" "This section provides a brief glossary of compile-time kernel options used " "for debugging:" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:855 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:845 msgid "" "`options KDB`: compiles in the kernel debugger framework. Required for " "`options DDB` and `options GDB`. Little or no performance overhead. By " "default, the debugger will be entered on panic instead of an automatic " "reboot." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:856 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:846 msgid "" "`options KDB_UNATTENDED`: change the default value of the " "`debug.debugger_on_panic` sysctl to 0, which controls whether the debugger " "is entered on panic. When `options KDB` is not compiled into the kernel, the " "behavior is to automatically reboot on panic; when it is compiled into the " "kernel, the default behavior is to drop into the debugger unless `options " "KDB_UNATTENDED` is compiled in. If you want to leave the kernel debugger " "compiled into the kernel but want the system to come back up unless you're " "on-hand to use the debugger for diagnostics, use this option." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:857 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:847 msgid "" "`options KDB_TRACE`: change the default value of the `debug.trace_on_panic` " "sysctl to 1, which controls whether the debugger automatically prints a " "stack trace on panic. Especially if running with `options KDB_UNATTENDED`, " "this can be helpful to gather basic debugging information on the serial or " "firewire console while still rebooting to recover." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:858 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:848 msgid "" "`options DDB`: compile in support for the console debugger, DDB. This " "interactive debugger runs on whatever the active low-level console of the " "system is, which includes the video console, serial console, or firewire " "console. It provides basic integrated debugging facilities, such as stack " "tracing, process and thread listing, dumping of lock state, VM state, file " "system state, and kernel memory management. DDB does not require software " "running on a second machine or being able to generate a core dump or full " "debugging kernel symbols, and provides detailed diagnostics of the kernel at " "run-time. Many bugs can be fully diagnosed using only DDB output. This " "option depends on `options KDB`." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:859 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:849 msgid "" "`options GDB`: compile in support for the remote debugger, GDB, which can " "operate over serial cable or firewire. When the debugger is entered, GDB may " "be attached to inspect structure contents, generate stack traces, etc. Some " "kernel state is more awkward to access than in DDB, which is able to " "generate useful summaries of kernel state automatically, such as " "automatically walking lock debugging or kernel memory management structures, " "and a second machine running the debugger is required. On the other hand, " "GDB combines information from the kernel source and full debugging symbols, " "and is aware of full data structure definitions, local variables, and is " "scriptable. This option is not required to run GDB on a kernel core dump. " "This option depends on `options KDB`." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:860 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:850 msgid "" "`options BREAK_TO_DEBUGGER`, `options ALT_BREAK_TO_DEBUGGER`: allow a break " "signal or alternative signal on the console to enter the debugger. If the " "system hangs without a panic, this is a useful way to reach the debugger. " "Due to the current kernel locking, a break signal generated on a serial " "console is significantly more reliable at getting into the debugger, and is " "generally recommended. This option has little or no performance impact." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:861 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:851 msgid "" "`options INVARIANTS`: compile into the kernel a large number of run-time " "assertion checks and tests, which constantly test the integrity of kernel " "data structures and the invariants of kernel algorithms. These tests can be " "expensive, so are not compiled in by default, but help provide useful \"fail " "stop\" behavior, in which certain classes of undesired behavior enter the " "debugger before kernel data corruption occurs, making them easier to debug. " "Tests include memory scrubbing and use-after-free testing, which is one of " "the more significant sources of overhead. This option depends on `options " "INVARIANT_SUPPORT`." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:862 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:852 msgid "" "`options INVARIANT_SUPPORT`: many of the tests present in `options " "INVARIANTS` require modified data structures or additional kernel symbols to " "be defined." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:863 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:853 msgid "" "`options WITNESS`: this option enables run-time lock order tracking and " "verification, and is an invaluable tool for deadlock diagnosis. WITNESS " "maintains a graph of acquired lock orders by lock type, and checks the graph " "at each acquire for cycles (implicit or explicit). If a cycle is detected, a " "warning and stack trace are generated to the console, indicating that a " "potential deadlock might have occurred. WITNESS is required in order to use " "the `show locks`, `show witness` and `show alllocks` DDB commands. This " "debug option has significant performance overhead, which may be somewhat " "mitigated through the use of `options WITNESS_SKIPSPIN`. Detailed " "documentation may be found in man:witness[4]." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:864 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:854 msgid "" "`options WITNESS_SKIPSPIN`: disable run-time checking of spinlock lock order " "with WITNESS. As spin locks are acquired most frequently in the scheduler, " "and scheduler events occur often, this option can significantly speed up " "systems running with WITNESS. This option depends on `options WITNESS`." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:865 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:855 msgid "" "`options WITNESS_KDB`: change the default value of the `debug.witness.kdb` " "sysctl to 1, which causes WITNESS to enter the debugger when a lock order " "violation is detected, rather than simply printing a warning. This option " "depends on `options WITNESS`." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:866 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:856 msgid "" "`options SOCKBUF_DEBUG`: perform extensive run-time consistency checking on " "socket buffers, which can be useful for debugging both socket bugs and race " "conditions in protocols and device drivers that interact with sockets. This " "option significantly impacts network performance, and may change the timing " "in device driver races." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:867 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:857 msgid "" "`options DEBUG_VFS_LOCKS`: track lock acquisition points for lockmgr/vnode " "locks, expanding the amount of information displayed by `show lockedvnods` " "in DDB. This option has a measurable performance impact." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:868 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:858 msgid "" "`options DEBUG_MEMGUARD`: a replacement for the man:malloc[9] kernel memory " "allocator that uses the VM system to detect reads or writes from allocated " "memory after free. Details may be found in man:memguard[9]. This option has " "a significant performance impact, but can be very helpful in debugging " "kernel memory corruption bugs." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:869 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:859 msgid "" "`options DIAGNOSTIC`: enable additional, more expensive diagnostic tests " "along the lines of `options INVARIANTS`." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:870 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:860 msgid "" "`options KASAN`: enable the Kernel Address Sanitizer. This enables compiler " "instrumentation which can be used to detect invalid memory accesses in the " "kernel, such as use-after-frees and buffer overflows. This largely " "supersedes `options DEBUG_MEMGUARD`. See man:kasan[9] for details, and for " "the currently supported platforms." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:870 +#: documentation/content/en/books/developers-handbook/kerneldebug/_index.adoc:860 msgid "" "`options KMSAN`: enable the Kernel Memory Sanitizer. This enables compiler " "instrumentation which can be used to detect uses of uninitialized memory. " "See man:kmsan[9] for details, and for the currently supported platforms." msgstr "" diff --git a/documentation/content/en/books/developers-handbook/policies/_index.po b/documentation/content/en/books/developers-handbook/policies/_index.po index 215f4b0d81..b1a77384a9 100644 --- a/documentation/content/en/books/developers-handbook/policies/_index.po +++ b/documentation/content/en/books/developers-handbook/policies/_index.po @@ -1,396 +1,396 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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/policies/_index.adoc:1 #: documentation/content/en/books/developers-handbook/policies/_index.adoc:17 #, no-wrap msgid "Source Tree Guidelines and Policies" msgstr "" #. type: YAML Front Matter: title #: documentation/content/en/books/developers-handbook/policies/_index.adoc:1 #, no-wrap msgid "Chapter 5. Source Tree Guidelines and Policies" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:55 msgid "" "This chapter documents various guidelines and policies in force for the " "FreeBSD source tree." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/policies/_index.adoc:57 #, no-wrap msgid "Style Guidelines" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:61 msgid "" "Consistent coding style is extremely important, particularly with large " "projects like FreeBSD. Code should follow the FreeBSD coding styles " "described in man:style[9] and man:style.Makefile[5]." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/policies/_index.adoc:63 #, no-wrap msgid "`MAINTAINER` on Makefiles" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:67 msgid "" "If a particular portion of the FreeBSD [.filename]#src/# distribution is " "being maintained by a person or group of persons, this is communicated " "through an entry in [.filename]#src/MAINTAINERS#. Maintainers of ports " "within the Ports Collection express their maintainership to the world by " "adding a `MAINTAINER` line to the [.filename]#Makefile# of the port in " "question:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/policies/_index.adoc:71 #, no-wrap msgid "MAINTAINER= email-addresses\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/policies/_index.adoc:78 msgid "" "For other parts of the repository, or for sections not listed as having a " "maintainer, or when you are unsure who the active maintainer is, try looking " "at the recent commit history of the relevant parts of the source tree. It " "is quite often the case that a maintainer is not explicitly named, but the " "people who are actively working in a part of the source tree for, say, the " "last couple of years are interested in reviewing changes. Even if this is " "not specifically mentioned in the documentation or the source itself, asking " "for a review as a form of courtesy is a very reasonable thing to do." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:81 msgid "The role of the maintainer is as follows:" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:83 msgid "" "The maintainer owns and is responsible for that code. This means that he or " "she is responsible for fixing bugs and answering problem reports pertaining " "to that piece of the code, and in the case of contributed software, for " "tracking new versions, as appropriate." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:84 msgid "" "Changes to directories which have a maintainer defined shall be sent to the " "maintainer for review before being committed. Only if the maintainer does " "not respond for an unacceptable period of time, to several emails, will it " "be acceptable to commit changes without review by the maintainer. However, " "it is suggested that you try to have the changes reviewed by someone else if " "at all possible." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:85 msgid "" "It is of course not acceptable to add a person or group as maintainer unless " "they agree to assume this duty. On the other hand it does not have to be a " "committer and it can easily be a group of people." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/policies/_index.adoc:87 #, no-wrap msgid "Contributed Software" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:92 msgid "" "Some parts of the FreeBSD distribution consist of software that is actively " "being maintained outside the FreeBSD project. For historical reasons, we " "call this _contributed_ software. Some examples are LLVM, man:zlib[3], and " "man:awk[1]." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:96 msgid "" "The accepted procedure for managing contributed software involves creating a " "_vendor branch_, where the software can be imported cleanly (without " "modification) and updates can be tracked in a versioned manner. Then, the " "content of the vendor branch is applied to the source tree, possibly with " "local modifications. FreeBSD-specific build glue is maintained in the " "source tree, not in the vendor branch." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:100 msgid "" "Depending on their needs and complexity, individual software projects may " "deviate from this procedure, at the discretion of the maintainer. The exact " "steps required to update a particular piece of contributed software should " "be recorded in a file named `FREEBSD-upgrade`; for example, link:https://" "cgit.freebsd.org/src/tree/contrib/libarchive/FREEBSD-upgrade[libarchive's " "FREEBSD-upgrade file]." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:103 msgid "" "Contributed software is usually placed in the [.filepath]#contrib/# " "subdirectory of the source tree, with some exceptions. Contributed software " "used only by the kernel lives under [.filepath]#sys/contrib/#." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/policies/_index.adoc:107 msgid "" "Because it makes it harder to import future versions minor, trivial and/or " "cosmetic changes are _strongly discouraged_ on files that are still tracking " "the vendor branch." msgstr "" #. type: Title === #: documentation/content/en/books/developers-handbook/policies/_index.adoc:110 #, no-wrap msgid "Vendor Imports" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:113 msgid "" "The standard process for managing contributed software and vendor branches " "is described in detail by the extref:{committers-guide}#vendor-import-" "git[Committer's Guide]." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/policies/_index.adoc:115 #, no-wrap msgid "Encumbered Files" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:121 msgid "" "It might occasionally be necessary to include an encumbered file in the " "FreeBSD source tree. For example, if a device requires a small piece of " "binary code to be loaded to it before the device will operate, and we do not " "have the source to that code, then the binary file is said to be " "encumbered. The following policies apply to including encumbered files in " "the FreeBSD source tree." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:123 msgid "" "Any file which is interpreted or executed by the system CPU(s) and not in " "source format is encumbered." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:124 msgid "Any file with a license more restrictive than BSD or GNU is encumbered." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:125 msgid "" "A file which contains downloadable binary data for use by the hardware is " "not encumbered, unless (1) or (2) apply to it." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:126 msgid "" "Any encumbered file requires specific approval from the link:https://" "www.FreeBSD.org/administration/#t-core[Core Team] before it is added to the " "repository." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:127 msgid "" "Encumbered files go in [.filename]#src/contrib# or [.filename]#src/sys/" "contrib#." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:128 msgid "" "The entire module should be kept together. There is no point in splitting " "it, unless there is code-sharing with non-encumbered code." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:130 msgid "" "In the past binary files were typically uuencoded, and named " "[.filename]#arch/filename.o.uu#. This is no longer necessary, and binary " "files may be added to the repository unchanged." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:131 msgid "Kernel files:" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:132 msgid "" "Should always be referenced in [.filename]#conf/files.*# (for build " "simplicity)." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:133 msgid "" "Should always be in [.filename]#LINT#, but the link:https://www.FreeBSD.org/" "administration/#t-core[Core Team] decides per case if it should be commented " "out or not. The link:https://www.FreeBSD.org/administration/#t-core[Core " "Team] can, of course, change their minds later on." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:134 msgid "The _Release Engineer_ decides whether or not it goes into the release." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:136 msgid "User-land files:" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:137 msgid "" "The link:https://www.FreeBSD.org/administration/#t-core[Core team] decides " -"if the code should be part of `make world`." +"if the code should be part of the installed base system." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:138 msgid "" "The link:https://www.FreeBSD.org/administration/#t-re[Release Engineering] " "decides if it goes into the release." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/policies/_index.adoc:140 #, no-wrap msgid "Shared Libraries" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:144 msgid "" "If you are adding shared library support to a port or other piece of " "software that does not have one, the version numbers should follow these " "rules. Generally, the resulting numbers will have nothing to do with the " "release version of the software." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:146 msgid "For ports:" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:148 msgid "Prefer using the number already selected by upstream" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:149 msgid "If upstream provides symbol versioning, ensure that we use their script" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:151 msgid "For the base system:" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:153 msgid "Start library version from 1" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:154 msgid "It is strongly recommended to add symbol versioning to the new library" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:155 msgid "" "If there is an incompatible change, handle it with symbol versioning, " "maintaining backward ABI compatibility" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:156 msgid "" "If this is impossible, or the library does not use symbol versioning, bump " "the library version" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:157 msgid "" "Before even considering bumping library version for symbol-versioned " "library, consult with Release Engineering team, providing reasons why the " "change is so important that it should be allowed despite breaking the ABI" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:159 msgid "" "For instance, added functions and bugfixes not changing the interfaces are " "fine, while deleted functions, changed function call syntax, etc. should " "either provide backward-compat symbols, or will force the major version " "number to change." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:161 msgid "" "It is the duty of the committer making the change to handle library " "versioning." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/policies/_index.adoc:166 msgid "" "The ELF dynamic linker matches library names literally. There is a popular " "convention where library version is written in the form `libexample.so.x.y`, " "where x is the major version, and y is minor. Common practice is to set the " "library' soname (`DT_SONAME` ELF tag) to `libexample.so.x`, and set up " "symlinks `libexample.so.x->libexample.so.x.y`, `libexample.so-" ">libexample.so.x` on library installation for the latest minor version y. " "Then, since the static linker searches for `libexample.so` when the `-" "lexample` command line option is specified, objects linked with libexample " "get a dependency on the right library. Almost all popular build systems use " "this scheme automatically." msgstr "" diff --git a/documentation/content/en/books/developers-handbook/tools/_index.po b/documentation/content/en/books/developers-handbook/tools/_index.po index 9f0e6ac5eb..c9e26e1899 100644 --- a/documentation/content/en/books/developers-handbook/tools/_index.po +++ b/documentation/content/en/books/developers-handbook/tools/_index.po @@ -1,3337 +1,3338 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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:17 #, 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:57 #, no-wrap msgid "Synopsis" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:64 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:66 #, no-wrap msgid "Introduction" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:73 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, crossref:tools[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:77 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:79 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:81 #, no-wrap msgid "Introduction to Programming" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:87 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:88 #, no-wrap msgid "Interpreters" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:93 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:98 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:103 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:104 #, no-wrap msgid "Interpreters Available with FreeBSD" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:107 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:109 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:110 #, no-wrap msgid "BASIC" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:114 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:116 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:117 #, no-wrap msgid "Lisp" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:121 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:123 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. CLISP by Bruno Haible and " "Michael Stoll is available as package:lang/clisp[]. SLisp, a simpler Lisp " "implementations, is available as package:lang/slisp[]." 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.36[] 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 "Lua" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:147 msgid "" "Lua is a lightweight embeddable scripting language. It is widely portable " "and relatively simple. Lua is available in the Ports Collection in " "package:lang/lua54[]. It is also included in the base system as " "[.filename]#/usr/libexec/flua# for use by base system components. Third " "party software should not depend on [.filename]#flua#." msgstr "" #. type: Labeled list #: documentation/content/en/books/developers-handbook/tools/_index.adoc:148 #, no-wrap msgid "Python" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:151 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:153 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:154 #, no-wrap msgid "Ruby" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:157 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:159 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:160 #, no-wrap msgid "Tcl and Tk" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:163 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:166 msgid "" "Various versions of Tcl are available as ports for FreeBSD. The latest " "version, Tcl 8.7, can be found in package:lang/tcl87[]." msgstr "" #. type: Title === #: documentation/content/en/books/developers-handbook/tools/_index.adoc:167 #, no-wrap msgid "Compilers" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:174 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:181 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:185 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 crossref:tools[emacs, Using Emacs as a Development Environment]." msgstr "" #. type: Title == #: documentation/content/en/books/developers-handbook/tools/_index.adoc:187 #, no-wrap msgid "Compiling with `cc`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:192 msgid "" "This section deals with the clang compiler for C and C++, as it's installed " "with the FreeBSD base system. 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:195 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:198 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:199 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:200 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:201 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:202 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:203 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:204 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:205 msgid "Finally, write the executable on the filesystem." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:208 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:210 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:214 #, no-wrap msgid "% cc foobar.c\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:218 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:222 #, no-wrap msgid "% cc foo.c bar.c\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:227 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:230 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:231 #, no-wrap msgid "`-o _filename_`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:233 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:238 #, 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:240 #, no-wrap msgid "`-c`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:243 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:247 #, no-wrap msgid "% cc -c foobar.c\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:251 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:252 #, no-wrap msgid "`-g`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:258 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:263 #, no-wrap msgid "% cc -g foobar.c\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:266 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:267 #, no-wrap msgid "`-O`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:271 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:275 #, no-wrap msgid "% cc -O -o foobar foobar.c\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:278 msgid "This will produce an optimized version of [.filename]#foobar#." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:281 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:282 #, no-wrap msgid "`-Wall`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:285 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:286 #, no-wrap msgid "`-ansi`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:289 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:290 #, no-wrap msgid "`-pedantic`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:292 msgid "Turn off _all_ ``cc``'s non-ANSI C features." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:297 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:300 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:304 #, 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:307 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:308 #, no-wrap msgid "`-l__library__`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:310 msgid "Specify a function library to be used at link time." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:313 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:317 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:321 #, no-wrap msgid "% cc -o foobar foobar.c -lm\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:324 msgid "This will link the math library functions into [.filename]#foobar#." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:327 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:331 #, no-wrap msgid "% c++ -o foobar foobar.cc\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:334 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:335 #, no-wrap msgid "Common `cc` Queries and Problems" msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/tools/_index.adoc:337 #, 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:341 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:345 #, no-wrap msgid "% cc -o foobar foobar.c\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/tools/_index.adoc:347 #, 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:351 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:352 #, 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:356 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:360 #, no-wrap msgid "% ./test\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:363 msgid "or choose a better name for your program!" msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/tools/_index.adoc:364 #, 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:368 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:369 #, 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:372 msgid "" "Use a debugger to analyze the core (see crossref:tools[debugging, " "Debugging])." msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/tools/_index.adoc:373 #, 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:377 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:379 msgid "Common causes for this are:" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:381 msgid "Trying to write to a NULL pointer, eg" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:386 #, no-wrap msgid "" "char *foo = NULL;\n" "strcpy(foo, \"bang!\");\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:389 msgid "Using a pointer that has not been initialized, eg" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:394 #, no-wrap msgid "" "char *foo;\n" "strcpy(foo, \"bang!\");\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:398 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:399 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:404 #, no-wrap msgid "" "int bar[20];\n" "bar[27] = 6;\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:407 msgid "Trying to store something in read-only memory, eg" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:412 #, 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:415 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:416 msgid "Doing naughty things with `malloc()` and `free()`, eg" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:421 #, no-wrap msgid "" "char bar[80];\n" "free(bar);\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:424 msgid "or" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:430 #, 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:435 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 run well on one system can crash when you " "try them on another." msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/tools/_index.adoc:436 #, 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:440 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:441 #, 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:444 msgid "Yes, just go to another console or xterm, do" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:448 #, no-wrap msgid "% ps\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:451 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:455 #, no-wrap msgid "% kill -ABRT pid\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:458 msgid "where `_pid_` is the process ID you looked up." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:461 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:464 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:467 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:469 #, no-wrap msgid "Make" msgstr "" #. type: Title === #: documentation/content/en/books/developers-handbook/tools/_index.adoc:471 #, no-wrap msgid "What is `make`?" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:474 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:478 #, no-wrap msgid "% cc file1.c file2.c\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:481 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:484 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:488 #, no-wrap msgid "% cc file1.o file2.o … file37.c …\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:492 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:494 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:496 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:499 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:504 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:507 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:508 #, no-wrap msgid "Example of Using `make`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:511 msgid "Here is a very simple make file:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:516 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:542 #, 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:519 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:526 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:530 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:534 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!" +"system just by typing `make buildworld buildkernel` at the top level " +"directory in the src tree." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:537 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:545 #, no-wrap msgid "" "install:\n" "\tcp foo /home/me\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:548 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:552 #, no-wrap msgid "% make target\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:556 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:559 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:563 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:568 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:569 #, no-wrap msgid "Make and include-files" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:573 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:578 #, no-wrap msgid "" "#include \n" "#include \"foo.h\"\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:580 #, no-wrap msgid "int main(....\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:583 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:587 #, no-wrap msgid "foo: foo.c foo.h\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:594 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:596 msgid "If you add this to your Makefile:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:601 #, no-wrap msgid "" "depend:\n" "\tcc -E -MM *.c > .depend\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:604 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:608 #, no-wrap msgid "foo.o: foo.c foo.h\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:611 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:613 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:614 #, no-wrap msgid "FreeBSD Makefiles" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:620 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:625 #, 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:627 #, no-wrap msgid ".include \n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:630 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:633 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:634 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:635 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:636 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:637 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:638 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:639 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:641 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:645 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:649 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:650 #, no-wrap msgid "More Advanced Uses of `make`" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:656 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. 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:660 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:663 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:667 #, no-wrap msgid " * Make: (make). The GNU Make utility.\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:670 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:672 #, no-wrap msgid "Debugging" msgstr "" #. type: Title === #: documentation/content/en/books/developers-handbook/tools/_index.adoc:674 #, no-wrap msgid "Introduction to Available Debuggers" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:679 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." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:682 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:686 msgid "" "The standard debugger supplied with FreeBSD 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:690 msgid "" "The `lldb` command is also available extref:{handbook}ports/[from ports or " "packages, ports-using] as package:devel/llvm[]." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:696 msgid "" "The other debugger available with FreeBSD is called `gdb` (GNU debugger). " "Unlike lldb, it is not installed by default on FreeBSD; to use it, extref:" "{handbook}#ports-using/[install] package:devel/gdb[] from ports or " "packages. It has excellent on-line help, as well as a set of info pages." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:701 msgid "" "The two debuggers have a similar feature set, so 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:702 #, no-wrap msgid "Using lldb" msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/tools/_index.adoc:704 #, no-wrap msgid "Starting lldb" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:707 msgid "Start up lldb by typing" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:711 #, no-wrap msgid "% lldb -- progname\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/tools/_index.adoc:713 #, no-wrap msgid "Running a Program with lldb" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:718 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:722 #, no-wrap msgid "Breakpoint 1: where = temp`main, address = …\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:725 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:730 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:735 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:739 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:742 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:746 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1020 #, no-wrap msgid "#include \n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:748 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1022 #, no-wrap msgid "int bazz(int anint);\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:751 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1025 #, no-wrap msgid "" "main() {\n" "\tint i;\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:756 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1030 #, 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:761 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1035 #, 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:764 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1038 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:766 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1040 msgid "Compiling and running the program displays" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:773 #, 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:776 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:787 #, 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:821 #, 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:824 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:838 #, 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:842 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1083 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:848 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1089 #, no-wrap msgid "" "...\n" "main() {\n" "\tint i;\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:852 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1093 #, 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:857 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:863 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:865 #, no-wrap msgid "Examining a Core File with lldb" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:870 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1111 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:873 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:875 msgid "The debugger will display something like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:882 #, 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:888 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:897 #, 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=, cleanup=) at crt1.c:76:7\n" "(lldb)\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:902 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:903 #, no-wrap msgid "Attaching to a Running Program with lldb" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:908 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:910 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:914 #, no-wrap msgid "(lldb) process attach -p pid\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:917 msgid "in `lldb`, and then debug as usual." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:919 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1174 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:927 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1182 #, 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:933 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1188 #, 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:936 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:937 #, no-wrap msgid "Remote Debugging Using LLDB" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:943 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:947 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:949 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:953 #, no-wrap msgid "% lldb-server g host:port -- progname\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:956 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:958 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:962 #, no-wrap msgid "(lldb) gdb-remote host:port\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:966 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:970 #, 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:972 #, no-wrap msgid "Using gdb" msgstr "" #. type: Title ==== #: documentation/content/en/books/developers-handbook/tools/_index.adoc:974 #, no-wrap msgid "Starting gdb" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:977 msgid "Start up gdb by typing" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:981 #, no-wrap msgid "% gdb progname\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:985 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:989 #, no-wrap msgid " M-x gdb RET progname RET\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:992 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:993 #, no-wrap msgid "Running a Program with gdb" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:998 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:1002 #, no-wrap msgid "... (no debugging symbols found) ...\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1005 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:1009 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:1013 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:1016 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:1047 #, 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:1050 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:1062 #, 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:1069 #, 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:1072 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:1079 #, 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:1098 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:1104 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:1106 #, no-wrap msgid "Examining a Core File with gdb" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1114 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:1118 #, no-wrap msgid "(gdb) core progname.core\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1121 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:1123 msgid "The debugger should display something like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1137 #, 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:1141 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:1145 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:1153 #, 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:1157 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:1158 #, no-wrap msgid "Attaching to a Running Program with gdb" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1163 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:1165 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:1169 #, no-wrap msgid "(gdb) attach pid\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1172 msgid "in `gdb`, and then debug as usual." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1191 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:1193 #, no-wrap msgid "Using Emacs as a Development Environment" msgstr "" #. type: Title === #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1195 #, no-wrap msgid "Emacs" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1199 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:1201 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:1203 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:1204 msgid "Pull-down menus and online help." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1205 msgid "Language-dependent syntax highlighting and indentation." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1206 msgid "Completely customizable." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1207 msgid "You can compile and debug programs within Emacs." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1208 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:1209 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:1210 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:1212 msgid "And doubtless many more that have been overlooked." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1214 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:1217 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:1222 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:1226 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:1229 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:1232 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:1235 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:1239 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:1240 #, no-wrap msgid "Configuring Emacs" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1243 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:1247 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:1249 msgid "" "The best way to learn Emacs Lisp is to read the online link:https://" "www.gnu.org/software/emacs/manual/elisp.html[Emacs Reference] manual." msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1254 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:1255 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1273 #, no-wrap msgid "A Sample [.filename]#.emacs#" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1258 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:1260 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:1261 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:1262 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:1263 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:1264 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:1265 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:1269 #, no-wrap msgid "% emacsclient filename\n" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1272 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:1278 #, no-wrap msgid ";; -*-Emacs-Lisp-*-\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1283 #, 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:1291 #, 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:1312 #, 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:1330 #, 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:1333 #, 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:1337 #, 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:1342 #, no-wrap msgid "" ";; Treat 'y' or 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:1346 #, 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:1352 #, 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:1361 #, 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:1366 #, 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:1371 #, 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:1379 #, 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:1381 #, 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:1398 #, 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:1410 #, 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:1424 #, 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:1431 #, 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:1435 #, 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:1441 #, 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:1449 #, 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:1455 #, 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:1468 #, 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:1474 #, 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:1483 #, 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:1496 #, 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:1504 #, 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:1521 #, 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:1530 #, 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:1536 #, 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:1544 #, 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:1550 #, 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:1553 #, 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:1555 #, no-wrap msgid ";; No need to debug anything now\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1557 #, no-wrap msgid "(setq debug-on-error nil)\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1560 #, 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:1563 #, no-wrap msgid "Extending the Range of Languages Emacs Understands" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1566 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:1570 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:1574 #, 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:1578 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:1580 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:1584 #, 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:1587 msgid "we would do" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1591 #, 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:1596 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:1598 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:1606 #, 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:1609 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:1612 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:1619 #, 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:1622 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:1625 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:1627 #, no-wrap msgid "Further Reading" msgstr "" #. type: Plain text #: documentation/content/en/books/developers-handbook/tools/_index.adoc:1630 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:1632 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:1633 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:1634 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:1635 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:1636 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:1637 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:1638 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:1638 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 d0f47a1b3a..499b92f5f5 100644 --- a/documentation/content/en/books/faq/_index.po +++ b/documentation/content/en/books/faq/_index.po @@ -1,1391 +1,1311 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2024-09-14 14:59-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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/faq/_index.adoc:1 #: documentation/content/en/books/faq/_index.adoc:13 #, no-wrap msgid "Frequently Asked Questions for FreeBSD" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:46 msgid "Abstract" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:49 msgid "" "This is the Frequently Asked Questions (FAQ) for FreeBSD. Every effort has " "been made to make this FAQ as informative as possible." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:51 msgid "'''" msgstr "" #. type: Title == #: documentation/content/en/books/faq/_index.adoc:55 #, no-wrap msgid "Introduction" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:59 msgid "" "Welcome to the world of FreeBSD! In this section, we provide a comprehensive " "overview of what FreeBSD is, its origins, goals, use cases, and the " "community behind it." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:61 msgid "" "Discover the reasons behind its name, learn how to contribute to this " "project, and explore the rich ecosystem of FreeBSD within the context of " "open-source operating systems." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:63 #, no-wrap msgid "What is FreeBSD?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:67 msgid "" "FreeBSD is a versatile and open-source UNIX(R)-like operating system known " "for its exceptional stability, security, and performance. Developed by a " "dedicated community of volunteers, it's based on the Berkeley Software " "Distribution (BSD) UNIX operating system." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:70 msgid "" "FreeBSD offers a powerful and customizable environment suitable for a wide " "range of applications, from servers and embedded systems to desktops and " "networking equipment. Its commitment to open source principles ensures a " "transparent and collaborative development process, making FreeBSD a trusted " "choice for those seeking a reliable and highly adaptable operating system." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:72 #, no-wrap msgid "Why is it called FreeBSD?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:76 msgid "" "The name \"FreeBSD\" stems from its roots in the Berkeley Software " "Distribution (BSD) UNIX operating system, renowned for its contributions to " "the world of open-source software. The \"Free\" in FreeBSD signifies its " "commitment to the principles of free and open-source software, which grant " "users the freedom to study, modify, and distribute the code." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:78 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\"." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:80 #, no-wrap msgid "What is the goal of the FreeBSD Project?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:83 msgid "" "The FreeBSD Project has a clear and unwavering goal: to provide a high-" "quality, open-source UNIX-like operating system that excels in terms of " "performance, security, and stability." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:87 msgid "" "It aims to offer a versatile platform suitable for a wide range of computing " "needs, from servers and workstations to embedded systems and beyond. " "FreeBSD is developed with a strong commitment to open source principles, " "fostering a collaborative environment where contributions from a global " "community of developers help shape and refine the operating system. This " "dedication to quality, freedom, and reliability is what sets FreeBSD apart " "and drives its ongoing success as an open-source project." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:89 #, no-wrap msgid "What uses cases is FreeBSD good for?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:96 msgid "" "FreeBSD is a versatile operating system that excels in various use cases. " "It is particularly well-suited for server environments, where its stability " "and performance make it a popular choice for web hosting, databases, and " "networking applications. FreeBSD's robust security features also position " "it as a strong candidate for firewall and security appliance deployments. " "Beyond servers, FreeBSD can be tailored to function in specialized " "environments, including embedded systems and game console devices. Its " "adaptability, reliability, and open-source nature make FreeBSD a compelling " "choice for a wide range of computing needs." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:98 #, no-wrap msgid "Who is responsible for FreeBSD?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:102 msgid "" "FreeBSD is a community-driven open-source project with a decentralized " "structure. Its development and maintenance are carried out by a global " "community of dedicated volunteers, developers, and organizations who " "collaborate to enhance and expand the operating system." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:104 msgid "" "The key decisions concerning the FreeBSD project, such as the overall " "direction of the project or who is allowed to add code to the source tree, " "are made by an elected Core Team of nine people." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:106 msgid "" "This collaborative and community-driven approach has been fundamental to " "FreeBSD's success and longevity as a reliable and robust UNIX-like operating " "system." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:108 #, 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:112 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:114 msgid "And thanks for the thought!" msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:116 #, no-wrap msgid "Does the FreeBSD license have any restrictions?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:119 msgid "" "FreeBSD is distributed under the https://www.FreeBSD.org/copyright/freebsd-" "license/[BSD License], which is known for its permissive nature." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:121 msgid "This license places very few restrictions on how you can use FreeBSD:" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:123 msgid "Do not claim that you wrote this." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:124 msgid "Do not sue us if it breaks." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:125 msgid "Do not remove or modify the license." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:129 msgid "" "The license means you are free to modify, distribute, and even sell FreeBSD " "without *being required to release your modifications as open source*. " "However, there are some minimal conditions, such as retaining the original " "copyright notice and disclaimers when distributing FreeBSD. Overall, the " "BSD License provides a high degree of freedom and flexibility, making " "FreeBSD an attractive choice for a wide range of applications and projects." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:131 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." +"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." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:133 #, no-wrap msgid "Can FreeBSD replace my current operating system?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:137 msgid "" "For many users and administrators, yes. But this question is not quite that " "cut-and-dried." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:140 msgid "" "FreeBSD is a powerful and versatile operating system that can replace or " "coexist with many other operating systems, depending on users and " "administrators specific needs. However, whether FreeBSD can replace your " "current operating system depends on factors such as your hardware, software " "requirements, and familiarity with FreeBSD." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:142 msgid "" "While it offers a robust and feature-rich alternative, it's essential to " "evaluate your specific use case and compatibility requirements before making " "the switch." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:144 msgid "" "If an application is only available on one operating system, that operating " "system cannot just be replaced." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:147 msgid "" "Users migrating to FreeBSD from another UNIX-like environment will find " "FreeBSD to be similar. Non-UNIX users, like Windows(R) users, should expect " "to invest some additional time learning the UNIX way of doing things." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:149 #, no-wrap msgid "Can FreeBSD run popular open source software?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:155 msgid "" "Yes, FreeBSD is well-suited for running popular open source software. Its " "compatibility with a wide range of applications and libraries makes it a " "favorable choice for those looking to deploy and use open source software " "packages. FreeBSD provides a robust and stable environment that supports " "various programming languages, databases, web servers, and other software " "commonly used in the open source community. Its ports and packages system " "simplifies the installation and management of such software, ensuring that " "users can easily access and run their favorite open source tools and " "applications on FreeBSD with minimal hassle." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:157 #, no-wrap msgid "How can I install software in FreeBSD?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:162 msgid "" "FreeBSD offers multiple methods for software installation. One of the most " "common methods involves using the built-in man:pkg[8] package manager, which " "simplifies the process by fetching and installing pre-built binary " "packages. Another approach is to compile and install software from source " "code using the man:ports[7] collection, providing a flexible and " "customizable way to install software." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:164 msgid "" "FreeBSD's documentation offer detailed guidance on both methods, ensuring " "that users can easily expand their system's capabilities with the software " "they need." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:166 #, no-wrap msgid "What are the differences between FreeBSD, NetBSD, OpenBSD, and other open source BSD operating systems?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:170 msgid "" "FreeBSD, NetBSD, OpenBSD and DragonFly BSD are all part of the open source " "BSD family, sharing common UNIX-like foundations, but each has its own " "distinct focus and priorities. These differences reflect the unique goals " "of each project, and while they share similarities, their specific strengths " "and emphases cater to different use cases and preferences within the BSD " "ecosystem." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:172 #, no-wrap msgid "Is FreeBSD a Linux(R) distribution?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:175 msgid "No, FreeBSD is *not* a Linux distribution." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:178 msgid "" "While both FreeBSD and Linux are UNIX-like operating systems and share many " "similarities, they have distinct kernels. Linux uses the Linux kernel, " "whereas FreeBSD uses the FreeBSD kernel, which is based on the Berkeley " "Software Distribution (BSD) UNIX operating system." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:180 msgid "" "FreeBSD and Linux each have their own unique development communities, " "release cycles, and system architectures, making them separate and " "independent operating systems." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:182 msgid "" "FreeBSD provides its own set of advantages, including a different licensing " "model, system design, and userland utilities compared to Linux distributions." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:184 #, no-wrap msgid "Is it possible to run Linux programs on FreeBSD?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:188 msgid "" -"Yes, FreeBSD provides a compatibility layer known as _linuxulator_ (man:" -"linux[4]), allowing many Linux programs to function on FreeBSD. This " +"Yes, FreeBSD provides a compatibility layer known as _linuxulator_ " +"(man:linux[4]), allowing many Linux programs to function on FreeBSD. This " "feature facilitates the execution of a broad spectrum of Linux binaries " "without the necessity of a dedicated Linux environment." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:190 msgid "" "Nevertheless, it's important to note that numerous widely used open-source " "software *have native FreeBSD versions available* through the ports and " "packages system." msgstr "" #. type: Title == #: documentation/content/en/books/faq/_index.adoc:192 #, no-wrap msgid "Installing FreeBSD" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:197 msgid "" "The process of installing FreeBSD is the initial step toward harnessing the " "power of this robust open-source operating system. This section provides " "essential information on where to obtain FreeBSD, detailed installation " "instructions, and insights into concepts like FreeBSD-CURRENT and FreeBSD-" "STABLE. It also delves into the release and snapshot schedules, post-" "installation configuration tools, package search methods, and addresses " "common questions regarding package updates." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:199 #, no-wrap msgid "Where can I get FreeBSD?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:202 msgid "" -"FreeBSD is freely available for download from the link:https://www.FreeBSD." -"org/where/[official FreeBSD website]." +"FreeBSD is freely available for download from the link:https://" +"www.FreeBSD.org/where/[official FreeBSD website]." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:205 msgid "" "Additionally, FreeBSD may also be available through various mirror sites, " "ensuring accessibility to users worldwide. The link:https://www.FreeBSD.org/" "where/[official website] is the primary and most reliable source for " "obtaining the latest FreeBSD releases and updates, making it the ideal " "starting point for a FreeBSD journey." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:207 #, no-wrap msgid "Where are the instructions for installing FreeBSD?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:210 msgid "" "Installation instructions can be found at the extref:{handbook}bsdinstall/" "[Installing FreeBSD Chapter of the Handbook]." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:212 #, no-wrap msgid "What is the FreeBSD-CURRENT concept?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:216 msgid "" "FreeBSD-CURRENT represents the development branch of the FreeBSD operating " "system. It is the most cutting-edge version of FreeBSD, where active " "development takes place." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:218 msgid "" "While it incorporates the latest features, improvements, and experimental " "changes, it may not always be as stable as the FreeBSD-STABLE or release " "versions." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:220 msgid "" "FreeBSD-CURRENT serves as a platform for developers and enthusiasts who want " "to contribute to the future of FreeBSD and stay on the leading edge of its " "development, even though it may occasionally undergo significant changes and " "*is not recommended for production systems*." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:222 #, no-wrap msgid "What is the FreeBSD-STABLE concept?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:227 msgid "" "The FreeBSD-STABLE branch is a more stable development branch compared to " "CURRENT. It contains code that is undergoing further testing and refinement " "before being merged into the RELEASE branch. STABLE is a good choice for " "those who want to track FreeBSD's development but prefer a more stable " "environment than CURRENT." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:229 #, no-wrap msgid "When are FreeBSD releases made of?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:234 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." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:236 #, no-wrap msgid "When are FreeBSD snapshots made?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:242 msgid "" "FreeBSD snapshots are typically generated at regular intervals for all " "actively developed branches. These snapshots capture a moment in time of " "the FreeBSD source code and associated binary packages. The frequency of " "these snapshots may vary but is often done on a weekly or bi-weekly basis. " "These snapshots provide users with an opportunity to access the latest " "developments and changes in FreeBSD, helping them stay up-to-date with the " "project's progress." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:244 #, no-wrap msgid "Is there a tool to perform post-installation configuration tasks?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:247 msgid "" "Yes. man:bsdconfig[8] provides a nice interface to configure FreeBSD post-" "installation." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:249 #, no-wrap msgid "How can I search for software to install in FreeBSD?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:252 msgid "" -"Searching for software to install in FreeBSD is made easy through the man:" -"pkg[8] package manager and the `pkg search` command." +"Searching for software to install in FreeBSD is made easy through the " +"man:pkg[8] package manager and the `pkg search` command." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:255 msgid "" "Users can utilize this command to search for available packages using " "keywords, package names, or descriptions. This feature helps users quickly " "locate the software they need within the extensive FreeBSD ports and " "packages collection, simplifying the process of adding new applications and " "tools to their FreeBSD systems." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:257 #, no-wrap msgid "Why am I not getting the latest packages in my FreeBSD system?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:260 msgid "" "The availability of the latest packages in FreeBSD can be influenced by " "various factors, including the package repository's update frequency and the " "specific version of FreeBSD being used." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:265 msgid "" "It should also be added that there are two branches for the FreeBSD ports. " "The most updated is called `latest` and the most stable is called " "`quarterly`. To use the latest packages it will be necessary to configure " "the `latest` branch. Information on how to configure branches can be found " "in the link:{handbook}ports/[Ports chapter of the Handbook]." msgstr "" #. type: Title == #: documentation/content/en/books/faq/_index.adoc:267 #, no-wrap msgid "Hardware" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:272 msgid "" "The Hardware section explores FreeBSD's compatibility with various hardware " "configurations. It covers a range of topics, including supported " "architectures, maximum RAM capacity, processor scalability, graphics card " "compatibility, Wi-Fi card support, and the inclusion of 10 Gigabit Ethernet " "network card support. Whether planning to deploy FreeBSD on servers, " "workstations, or specialized hardware, this section provides insights into " "FreeBSD's capabilities and limitations, offering information about hardware " "choices and configurations." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:274 #, no-wrap msgid "What architectures does FreeBSD support?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:278 msgid "" "FreeBSD boasts a versatile range of supported architectures, making it a " "flexible choice for a variety of hardware environments. Its compatibility " "extends to architectures such as `amd64`, `arm64`, `riscv` and more." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:280 msgid "" "A complete list of supported architectures can be found on the link:https://" "www.FreeBSD.org/platforms/[platforms page]." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:282 #, no-wrap msgid "How much RAM does FreeBSD support?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:286 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." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:288 msgid "For example, `amd64` platforms support up to 4TB of physical memory." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:290 #, no-wrap msgid "How many processors does FreeBSD support?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:295 msgid "" "FreeBSD's processor support varies across different architectures. On amd64 " "and arm64 systems, FreeBSD can efficiently harness the power of up to 1024 " "processors. For powerpc-based systems, FreeBSD supports up to 256 " "processors, while on risc-v systems, it can effectively utilize up to 16 " "processors." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:297 #, no-wrap msgid "What graphics cards does FreeBSD support?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:300 msgid "" "Popular graphics vendors like Intel(R), AMD(R) or NVIDIA(R) are well-" "supported." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:302 msgid "" "A list of supported graphics cards from link:https://wiki.freebsd.org/" "Graphics/Intel-GPU-Matrix[Intel] and link:https://wiki.freebsd.org/Graphics/" "AMD-GPU-Matrix[AMD] can be found in the FreeBSD Wiki." msgstr "" #. type: Title === #: documentation/content/en/books/faq/_index.adoc:304 #, no-wrap msgid "What Wi-Fi cards does FreeBSD support?" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:307 msgid "" -"Discover FreeBSD's compatibility with various Wi-Fi cards, making it easy to " -"connect your system to wireless networks." +"This is a rapidly changing area as of 2025, so it's worth checking the " +"Hardware Compatibility List for your chosen link:https://www.freebsd.org/" +"releases/[release]." msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:309 -msgid "The list of USB Wi-Fi devices that are known to work well on FreeBSD:" +msgid "The list of PCIe Wi-Fi devices that are known to work well on FreeBSD:" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:311 -msgid "RT5370 USB dongles (supports hostap mode)" +msgid "" +"Intel chipset devices covered by man:iwlwifi[4] (high-speed as of FreeBSD " +"14.3)" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:312 -msgid "TP-Link TL-WDN3200 (RT5592, man:if_run[4])" +msgid "Realtek RTL8188CE Mini PCIe" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:313 -msgid "TP-Link TL-WN725N v2 (RTL8188EU, man:rtwn[4])" +#: documentation/content/en/books/faq/_index.adoc:314 +msgid "The list of USB Wi-Fi devices that are known to work well on FreeBSD:" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:314 -msgid "TP-Link Archer T4U (RTL8812AU, man:rtwn[4])" +#: documentation/content/en/books/faq/_index.adoc:316 +msgid "RT5370 USB dongles (supports hostap mode)" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:315 -msgid "D-Link DWA-131 (RTL8192CU, man:rtwn[4])" +#: documentation/content/en/books/faq/_index.adoc:317 +msgid "TP-Link TL-WDN3200 (RT5592, man:if_run[4])" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:316 -msgid "D-Link DWA-171 rev A1 (RTL8821AU, man:rtwn[4])" +#: documentation/content/en/books/faq/_index.adoc:318 +msgid "TP-Link TL-WN725N v2 (RTL8188EU, man:rtwn[4])" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:317 -msgid "ASUS USB-N10 NANO (RTL8188CUS, man:rtwn[4])" +#: documentation/content/en/books/faq/_index.adoc:319 +msgid "TP-Link Archer T4U (RTL8812AU, man:rtwn[4])" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:319 -msgid "" -"The list of Mini PCIe Wi-Fi devices that are known to work well on FreeBSD:" +#: documentation/content/en/books/faq/_index.adoc:320 +msgid "D-Link DWA-131 (RTL8192CU, man:rtwn[4])" msgstr "" #. type: Plain text #: documentation/content/en/books/faq/_index.adoc:321 -msgid "Realtek RTL8188CE Mini PCIe" +msgid "D-Link DWA-171 rev A1 (RTL8821AU, man:rtwn[4])" +msgstr "" + +#. type: Plain text +#: documentation/content/en/books/faq/_index.adoc:322 +msgid "ASUS USB-N10 NANO (RTL8188CUS, man:rtwn[4])" msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:323 +#: documentation/content/en/books/faq/_index.adoc:325 #, no-wrap msgid "Does FreeBSD support 10 Gigabit Ethernet network cards?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:327 +#: documentation/content/en/books/faq/_index.adoc:329 msgid "" "FreeBSD provides robust support for 10 Gigabit Ethernet network cards, " "making it a viable choice for high-speed networking environments. The " "FreeBSD kernel includes drivers for a wide range of 10 Gigabit Ethernet " "adapters from various manufacturers, ensuring seamless integration and " "optimal network performance." msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:329 +#: documentation/content/en/books/faq/_index.adoc:331 msgid "" "More information can be obtained at the link:https://wiki.freebsd.org/" "Networking/10GbE[FreeBSD Wiki]." msgstr "" #. type: Title == -#: documentation/content/en/books/faq/_index.adoc:331 +#: documentation/content/en/books/faq/_index.adoc:333 #, no-wrap msgid "Documentation and Support" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:335 +#: documentation/content/en/books/faq/_index.adoc:337 msgid "" "This section provides valuable resources for those seeking to deepen their " "knowledge of FreeBSD. It covers a range of topics, including recommended " "books for learning FreeBSD, avenues for commercial training and support, " "insights into understanding FreeBSD's internals, and where to find " "assistance within the FreeBSD community." msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:337 +#: documentation/content/en/books/faq/_index.adoc:339 #, no-wrap msgid "What good books are there about FreeBSD?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:341 +#: documentation/content/en/books/faq/_index.adoc:343 msgid "" "FreeBSD enthusiasts and learners can explore a variety of informative books " "dedicated to the operating system. These books cover topics ranging from " "FreeBSD basics to advanced system administration and development." msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:344 +#: documentation/content/en/books/faq/_index.adoc:346 msgid "" "Some notable titles include \"Absolute FreeBSD: The Complete Guide To " "FreeBSD\" by Michael W. Lucas, and the \"FreeBSD Mastery series\" also by " "Michael W. Lucas, among others. These resources offer valuable insights and " "knowledge to help users of all levels master FreeBSD and maximize its " "potential." msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:346 +#: documentation/content/en/books/faq/_index.adoc:348 msgid "" "Apart from the books, The FreeBSD Project produces a wide range of " "documentation, available online in the link:https://docs.FreeBSD.org/" "[Documentation Portal]." msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:348 +#: documentation/content/en/books/faq/_index.adoc:350 #, no-wrap msgid "Where can I get commercial FreeBSD training and support?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:352 +#: documentation/content/en/books/faq/_index.adoc:354 msgid "" "For those seeking professional training and support for FreeBSD, several " "commercial providers offer tailored services. The FreeBSD project maintains " "a link:https://www.freebsd.org/commercial/[list of companies] from which " "support can be requested." msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:354 +#: documentation/content/en/books/faq/_index.adoc:356 #, no-wrap msgid "How can I learn more about FreeBSD's internals?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:358 +#: documentation/content/en/books/faq/_index.adoc:360 msgid "" "To delve deeper into the inner workings of FreeBSD, interested individuals " "can explore resources like \"The Design And Implementation Of The FreeBSD " "Operating System\". The extref:{arch-handbook}[FreeBSD Architecture " "Handbook]. is another valuable resource that provides detailed information " "about FreeBSD's architecture, system organization, and design principles" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:360 +#: documentation/content/en/books/faq/_index.adoc:362 msgid "" "Additionally, reviewing the FreeBSD source code, available through the " "FreeBSD source repository, provides valuable insights into the operating " "system's core components." msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:362 +#: documentation/content/en/books/faq/_index.adoc:364 #, no-wrap msgid "How can I get help in a FreeBSD system?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:367 +#: documentation/content/en/books/faq/_index.adoc:369 msgid "" "Getting assistance within a FreeBSD system is straightforward. FreeBSD " "offers a wealth of built-in documentation, accessible through the man:man[1] " "command, which provides comprehensive information about various commands and " "system components." msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:369 +#: documentation/content/en/books/faq/_index.adoc:371 msgid "" "Additionally, the extref:{handbook}[FreeBSD Handbook], available both online " "and locally on the system, serves as a valuable resource for in-depth " "guidance." msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:371 +#: documentation/content/en/books/faq/_index.adoc:373 msgid "" "If specific issues arise, seeking help from the FreeBSD community via " "mailing lists, forums, or IRC can provide timely solutions and insights from " "experienced FreeBSD users and developers." msgstr "" #. type: Title == -#: documentation/content/en/books/faq/_index.adoc:373 +#: documentation/content/en/books/faq/_index.adoc:375 #, no-wrap msgid "Community Questions" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:376 +#: documentation/content/en/books/faq/_index.adoc:378 msgid "" "Explore this section to discover ways to engage with the FreeBSD community." msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:379 +#: documentation/content/en/books/faq/_index.adoc:381 msgid "" "Learn about FreeBSD IRC channels for real-time discussions, web-based forums " "for sharing insights, and access to FreeBSD mailing lists and news groups " "for in-depth discussions and news updates." msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:381 +#: documentation/content/en/books/faq/_index.adoc:383 #, no-wrap msgid "Are there FreeBSD IRC (Internet Relay Chat) channels?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:384 +#: documentation/content/en/books/faq/_index.adoc:386 msgid "" "Yes, most major IRC networks host a FreeBSD chat channel and the FreeBSD " "wiki holds an up to date link:https://wiki.freebsd.org/IRC/Channels[list of " "IRC channels]." msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:387 +#: documentation/content/en/books/faq/_index.adoc:389 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:389 +#: documentation/content/en/books/faq/_index.adoc:391 #, no-wrap msgid "Are there any web based forums to discuss FreeBSD?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:392 +#: documentation/content/en/books/faq/_index.adoc:394 msgid "" -"The official FreeBSD forums are located at the link:https://forums.FreeBSD." -"org/[FreeBSD Forums homepage]." +"The official FreeBSD forums are located at the link:https://" +"forums.FreeBSD.org/[FreeBSD Forums homepage]." msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:394 +#: documentation/content/en/books/faq/_index.adoc:396 #, no-wrap msgid "Where do I find info on the FreeBSD mailing lists?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:397 +#: documentation/content/en/books/faq/_index.adoc:399 msgid "" "The public mailing lists can be found at the link:https://lists.freebsd.org/" "[FreeBSD mailing lists]." msgstr "" #. type: Title == -#: documentation/content/en/books/faq/_index.adoc:399 +#: documentation/content/en/books/faq/_index.adoc:401 #, no-wrap msgid "Miscellaneous Questions" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:402 +#: documentation/content/en/books/faq/_index.adoc:404 msgid "" "Explore a variety of intriguing and practical queries about FreeBSD, " "covering topics from shell choices to system quirks and even the FreeBSD " "pet's name." msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:404 +#: documentation/content/en/books/faq/_index.adoc:406 #, 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:410 +#: documentation/content/en/books/faq/_index.adoc:412 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 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:413 +#: documentation/content/en/books/faq/_index.adoc:415 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." msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:415 +#: documentation/content/en/books/faq/_index.adoc:417 msgid "" "That is why other more featureful shells like `bash`, `scsh`, man:tcsh[1], " "and `zsh` are available." msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:417 +#: documentation/content/en/books/faq/_index.adoc:419 #, 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:420 +#: documentation/content/en/books/faq/_index.adoc:422 msgid "For the Bourne Shell, add the following lines to [.filename]#~/.shrc#:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/faq/_index.adoc:424 +#: documentation/content/en/books/faq/_index.adoc:426 #, no-wrap msgid "bind ^[[3~ ed-delete-next-char # for xterm\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:427 +#: documentation/content/en/books/faq/_index.adoc:429 msgid "For the C Shell, add the following lines to [.filename]#~/.cshrc#:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/faq/_index.adoc:431 +#: documentation/content/en/books/faq/_index.adoc:433 #, no-wrap msgid "bindkey ^[[3~ delete-char # for xterm\n" msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:434 +#: documentation/content/en/books/faq/_index.adoc:436 #, no-wrap msgid "I have forgotten the root password! What do I do?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:441 +#: documentation/content/en/books/faq/_index.adoc:443 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." +"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:448 +#: documentation/content/en/books/faq/_index.adoc:450 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 " +"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:454 +#: documentation/content/en/books/faq/_index.adoc:456 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:457 +#: documentation/content/en/books/faq/_index.adoc:459 #, 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:463 +#: documentation/content/en/books/faq/_index.adoc:465 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 " +"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:465 +#: documentation/content/en/books/faq/_index.adoc:467 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:468 +#: documentation/content/en/books/faq/_index.adoc:470 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:470 +#: documentation/content/en/books/faq/_index.adoc:472 #, no-wrap msgid "How much free memory is available?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:478 +#: documentation/content/en/books/faq/_index.adoc:480 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 " +"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:480 +#: documentation/content/en/books/faq/_index.adoc:482 #, no-wrap msgid "My time is wrong, how can I change the timezone?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:483 +#: documentation/content/en/books/faq/_index.adoc:485 msgid "Use man:tzsetup[8]." msgstr "" #. type: Title === -#: documentation/content/en/books/faq/_index.adoc:485 +#: documentation/content/en/books/faq/_index.adoc:487 #, 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:489 +#: documentation/content/en/books/faq/_index.adoc:491 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:492 +#: documentation/content/en/books/faq/_index.adoc:494 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:494 +#: documentation/content/en/books/faq/_index.adoc:496 #, 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:497 +#: documentation/content/en/books/faq/_index.adoc:499 msgid "The simple answer is that free memory is wasted memory." msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:502 +#: documentation/content/en/books/faq/_index.adoc:504 msgid "" "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:504 +#: documentation/content/en/books/faq/_index.adoc:506 #, no-wrap msgid "What is the cute little red guy's name?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:509 +#: documentation/content/en/books/faq/_index.adoc:511 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: Plain text -#: documentation/content/en/books/faq/_index.adoc:511 +#: documentation/content/en/books/faq/_index.adoc:513 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:513 +#: documentation/content/en/books/faq/_index.adoc:515 #, no-wrap msgid "Can I use the BSD daemon image?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:518 +#: documentation/content/en/books/faq/_index.adoc:520 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: Plain text -#: documentation/content/en/books/faq/_index.adoc:522 +#: documentation/content/en/books/faq/_index.adoc:524 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:524 +#: documentation/content/en/books/faq/_index.adoc:526 #, no-wrap msgid "Why should I care what color the bikeshed is?" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:530 +#: documentation/content/en/books/faq/_index.adoc:532 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: Plain text -#: documentation/content/en/books/faq/_index.adoc:532 +#: documentation/content/en/books/faq/_index.adoc:534 msgid "" "The longer and 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...]." msgstr "" #. type: Title == -#: documentation/content/en/books/faq/_index.adoc:534 -#, no-wrap -msgid "The FreeBSD Funnies" -msgstr "" - -#. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:537 -msgid "" -"Take a break from technicalities and dive into the playful side of FreeBSD." -msgstr "" - -#. type: Title === -#: documentation/content/en/books/faq/_index.adoc:539 -#, no-wrap -msgid "How cool is FreeBSD?" -msgstr "" - -#. type: Labeled list -#: documentation/content/en/books/faq/_index.adoc:542 -#, no-wrap -msgid "Has anyone done any temperature testing while running FreeBSD?" -msgstr "" - -#. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:546 -msgid "" -"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 GNU/Linux(R) " -"tasted like purple haze. Neither group mentioned any significant variances " -"in temperature." -msgstr "" - -#. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:548 -msgid "" -"Seriously, FreeBSD uses ACPI (Advanced Configuration and Power Interface), " -"therefore FreeBSD can put the CPU into low power mode." -msgstr "" - -#. type: Title === -#: documentation/content/en/books/faq/_index.adoc:550 -#, no-wrap -msgid "Where does data written to /dev/null go?" -msgstr "" - -#. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:554 -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." -msgstr "" - -#. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:556 -msgid "" -"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." -msgstr "" - -#. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:558 -msgid "" -"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: Title === -#: documentation/content/en/books/faq/_index.adoc:560 -#, no-wrap -msgid "My colleague sits at the computer too much, how can I prank them?" -msgstr "" - -#. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:563 -msgid "Install package:games/sl[] and wait for they to mistype `sl` for `ls`." -msgstr "" - -#. type: Title == -#: documentation/content/en/books/faq/_index.adoc:565 +#: documentation/content/en/books/faq/_index.adoc:536 #, no-wrap msgid "Acknowledgments" msgstr "" #. type: Plain text -#: documentation/content/en/books/faq/_index.adoc:567 +#: documentation/content/en/books/faq/_index.adoc:538 msgid "" "This FAQ has undergone countless revisions and improvements by a diverse " "group of contributors over the past decades." msgstr "" diff --git a/documentation/content/en/books/handbook/cutting-edge/_index.po b/documentation/content/en/books/handbook/cutting-edge/_index.po index 37b3c8d05c..bd0969c84e 100644 --- a/documentation/content/en/books/handbook/cutting-edge/_index.po +++ b/documentation/content/en/books/handbook/cutting-edge/_index.po @@ -1,2349 +1,2349 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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:15 #, no-wrap msgid "Updating and Upgrading FreeBSD" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:53 #, no-wrap msgid "Synopsis" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:60 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:62 msgid "After reading this chapter, you will know:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:64 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:65 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:66 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:67 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:68 msgid "How to rebuild and reinstall the entire base system." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:70 msgid "Before reading this chapter, you should:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:72 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:73 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:78 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:81 #, no-wrap msgid "FreeBSD Update" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:85 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:89 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:93 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:97 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:100 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:102 #, no-wrap msgid "The Configuration File" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:107 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:112 #, 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:119 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:125 #, 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:129 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:136 #, 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:141 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:147 #, 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. Merges are either accepted, open an editor, or cause `freebsd-" "update` to abort. When in doubt, backup [.filename]#/etc# and just accept " "the merges." 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 modified 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 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:290 #, 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 crossref:cutting-edge[freebsd-update-" "custom-kernel-9x, Custom Kernels with FreeBSD 9.X and Later] 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 13.2 to 14.0." 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 crossref:cutting-edge[freebsd-update-custom-" "kernel-9x, Custom Kernels with FreeBSD 9.X and Later] 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 "" "Before upgrading to a new version, ensure the existing FreeBSD installation " "is up to date with respect to security and errata patches:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:293 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:297 #, no-wrap msgid "# freebsd-update -r 13.2-RELEASE upgrade\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:302 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:309 #, 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:315 #, 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:319 #, 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:321 #, no-wrap msgid "Does this look reasonable (y/n)? y\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:325 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:327 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:334 #, 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:338 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:347 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:354 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:358 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:394 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:471 #, no-wrap msgid "# freebsd-update install\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:365 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:369 #, no-wrap msgid "# nextboot -k GENERIC\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:378 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:381 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:385 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1088 #, no-wrap msgid "# shutdown -r now\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:390 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:399 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:404 msgid "" "The upgrade is now complete. If this was a major version upgrade, reinstall " "all ports and packages as described in crossref:cutting-edge[freebsdupdate-" "portsrebuild, Upgrading Packages After a Major Version Upgrade]." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:406 #, no-wrap msgid "Custom Kernels with FreeBSD 9.X and Later" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:411 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:415 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:421 #, 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:424 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:429 #, 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:434 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:436 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:438 #, no-wrap msgid "Upgrading Packages After a Major Version Upgrade" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:445 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:449 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:453 #, no-wrap msgid "# pkg-static upgrade -f\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:456 msgid "" "A rebuild of all applications installed from the ports collection can be " "accomplished with this command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:460 #, no-wrap msgid "# portmaster -af\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:464 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:467 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:475 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:478 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:480 #, no-wrap msgid "System State Comparison" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:484 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:492 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:495 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:499 #, no-wrap msgid "# freebsd-update IDS >> outfile.ids\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:502 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:505 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:513 #, 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:520 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:522 #, no-wrap msgid "Updating Bootcode" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:525 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:527 #, no-wrap msgid "Updating the Documentation Set" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:531 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:533 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:536 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:538 #, no-wrap msgid "Updating Documentation from Source" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:542 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:544 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:548 #, 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:552 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:554 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:558 #, no-wrap msgid "# git pull\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:562 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:564 msgid "A full update may be performed by typing:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:569 #, no-wrap msgid "" "# cd /usr/doc\n" "# make\n" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:572 #, no-wrap msgid "Tracking a Development Branch" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:575 msgid "" "FreeBSD has two development branches: FreeBSD-CURRENT and FreeBSD-STABLE." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:577 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:579 #, no-wrap msgid "Using FreeBSD-CURRENT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:583 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:587 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:589 msgid "FreeBSD-CURRENT is made available for three primary interest groups:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:591 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:592 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:593 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:597 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:599 msgid "To track FreeBSD-CURRENT:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:601 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:603 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:606 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:607 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:608 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:612 msgid "" "Before compiling FreeBSD-CURRENT, read [.filename]#/usr/src/Makefile# very " "carefully and follow the instructions in crossref:cutting-edge[makeworld, " "Updating FreeBSD from Source]. 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:613 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:615 #, no-wrap msgid "Using FreeBSD-STABLE" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:622 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:624 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:629 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:631 msgid "To track FreeBSD-STABLE:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:633 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:637 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:640 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:641 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:644 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:647 msgid "" "Before compiling or upgrading to FreeBSD-STABLE , read [.filename]#/usr/src/" "Makefile# carefully and follow the instructions in crossref:cutting-" "edge[makeworld, Updating FreeBSD from Source]. 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:649 #, no-wrap msgid "The N-number" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:653 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:657 #, 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:660 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:663 #, no-wrap msgid "main-n247514-031260d64c18\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:668 #, 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:672 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:673 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:674 msgid "Git hash of the checked out tree" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:676 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:679 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:683 #, 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:685 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:686 msgid "The n-number." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:692 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:694 #, no-wrap msgid "Updating FreeBSD from Source" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:700 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:702 #, no-wrap msgid "Quick Start" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:706 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:711 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1019 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:716 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1024 #, no-wrap msgid "" "# etcupdate extract <.>\n" "# etcupdate diff <.>\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:719 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1027 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:721 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1029 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:726 msgid "Update and Build" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:740 #, no-wrap msgid "" "# git -C /usr/src pull <.>\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:744 msgid "" "Get the latest version of the source. See crossref:cutting-edge[updating-src-" "obtaining-src, Updating the Source] for more information on obtaining and " "updating source." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:746 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:748 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:758 msgid "Go to the source directory." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:750 msgid "Compile the world, everything except the kernel." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:752 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:754 msgid "Reboot the system to the new kernel." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:756 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:760 msgid "Install the world." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:762 msgid "Update and merge configuration files in [.filename]#/etc/#." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:764 msgid "Restart the system to use the newly-built world and kernel." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:767 #, no-wrap msgid "Preparing for a Source Update" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:770 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:772 #, no-wrap msgid "Updating the Source" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:777 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:784 #, 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:787 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:792 #, no-wrap msgid "# git -C /usr/src pull\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:796 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:800 msgid "Obtaining the source:" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:803 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:806 #, no-wrap msgid "FreeBSD Versions and Repository Branches" msgstr "" #. type: Table #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:810 #, no-wrap msgid "uname ‑r Output" msgstr "" #. type: Table #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:811 #, no-wrap msgid "Repository Path" msgstr "" #. type: Table #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:813 #, no-wrap msgid "Description" msgstr "" #. type: Table #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:814 #, no-wrap msgid "`_X.Y_-RELEASE`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:815 #, no-wrap msgid "`releng/_X.Y_`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:817 #, 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:818 #, no-wrap msgid "`_X.Y_-STABLE`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:819 #, no-wrap msgid "`stable/_X_`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:825 #, 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:826 #, no-wrap msgid "`_X_-CURRENT`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:827 #, no-wrap msgid "`main`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:828 #, 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:831 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:836 #, no-wrap msgid "" "# uname -r\n" "13.2-RELEASE\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:840 msgid "" "Based on crossref:cutting-edge[updating-src-obtaining-src-repopath,FreeBSD " "Versions and Repository Branches], 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:845 #, 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:848 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:850 msgid "" "The path from crossref:cutting-edge[updating-src-obtaining-src-" "repopath,FreeBSD Versions and Repository Branches] 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:852 #, no-wrap msgid "Building from Source" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:857 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:863 #, 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:866 msgid "The compiled code is written to [.filename]#/usr/obj#." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:869 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:871 #, no-wrap msgid "Performing a Clean Build" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:876 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:880 #, no-wrap msgid "# make cleanworld\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:883 #, no-wrap msgid "Setting the Number of Jobs" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:890 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:892 #, no-wrap msgid "Increasing the Number of Build Jobs" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:896 msgid "Building the world and kernel with four jobs:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:900 #, no-wrap msgid "# make -j4 buildworld buildkernel\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:905 #, no-wrap msgid "Building Only the Kernel" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:910 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:915 #, no-wrap msgid "" "# cd /usr/src\n" "# make buildkernel\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:918 #, no-wrap msgid "Building a Custom Kernel" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:923 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:925 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:928 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:934 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:938 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:944 #, 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:947 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:949 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:953 #, no-wrap msgid "# make buildkernel KERNCONF=STORAGESERVER\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:956 #, no-wrap msgid "Installing the Compiled Code" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:959 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:968 #, 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:971 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:980 #, 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:983 #, no-wrap msgid "Completing the Update" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:987 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:989 #, no-wrap msgid "Merging Configuration Files with man:etcupdate[8]" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:994 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. man:etcupdate[8] is designed to minimize " "the amount of user intervention." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:999 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:1003 #, no-wrap msgid "# etcupdate diff\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1006 msgid "This command allows the user to audit configuration changes." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1009 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:1013 #, no-wrap msgid "# etcupdate resolve\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1032 #, no-wrap msgid "Checking for Outdated Files and Libraries" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1036 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:1040 #, no-wrap msgid "# make check-old\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1043 msgid "and deleted:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1047 #, no-wrap msgid "# make delete-old\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1051 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:1055 #, no-wrap msgid "# make check-old-libs\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1058 msgid "and deleted with" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1062 #, no-wrap msgid "# make delete-old-libs\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1066 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:1072 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:1076 #, 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:1081 #, no-wrap msgid "Restarting After the Update" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1084 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:1091 #, no-wrap msgid "Tracking for Multiple Machines" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1099 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:1104 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:1108 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:1111 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:1117 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:1125 msgid "" "On the build machine, build the kernel and world as described in " "crossref:cutting-edge[makeworld, Updating FreeBSD from Source], 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 `etcupdate` " "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:1128 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 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 "" #. type: Title == #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1138 #, no-wrap msgid "Building on non-FreeBSD Hosts" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1142 msgid "" "Historically, building required a FreeBSD host. Nowadays, FreeBSD can be " "built on Linux and macOS." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1148 msgid "" "To build on a non-FreeBSD host, the `tools/build/make.py` script is " "recommended. This script acts as a wrapper around `bmake`, which is the " "make implementation used by FreeBSD. It ensures that the necessary tooling, " "including the actual FreeBSD's man:make[1], is bootstrapped and that the " "build environment is properly configured. In particular, it sets the " "external toolchain variables, such as `XCC`, `XLD`, and others. " "Additionally, the script can pass any additional command arguments, such as " "`-j 4` for parallel builds or specific make targets, to `bmake`." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1153 msgid "" "A recent version of `bmake` can be used instead of the `tools/build/make.py` " "script as well. In that case, however, required environment variables need " "to be set manually (the easiest way to obtain a list of them is by running " "`tools/build/make.py --debug`)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1157 msgid "" "Otherwise, the list of prerequisites for building FreeBSD is rather short. " "In fact, it boils down to installing a couple of dependencies." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1160 msgid "" -"On macOS, the only dependency LLVM. The necessary dependencies can be " +"On macOS, the only dependency is LLVM. The necessary dependencies can be " "installed with package manager (e.g., link:https://brew.sh/[Homebrew]):" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1164 #, no-wrap msgid "brew install llvm\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1167 msgid "" "On a Linux distributions, install link:https://clang.llvm.org/[Clang] " "version 10.0 or newer and the headers for libarchive and libbz2 (often " "packaged as libarchive-dev and libbz2-dev)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1169 msgid "" "Once the dependencies are installed, the host should be able to build " "FreeBSD." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1171 msgid "" "For example, the following `tools/build/make.py` invocation builds the world:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1175 #, no-wrap msgid "MAKEOBJDIRPREFIX=/tmp/obj tools/build/make.py -j 8 TARGET=arm64 TARGET_ARCH=aarch64 buildworld\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1180 msgid "" "It builds the world for target `aarch64:arm64` on 8 CPUs and uses " "[.filename]#/tmp/obj# for object files. Note that the variables " "`MAKEOBJDIRPREFIX`, `TARGET`, and `TARGET_ARCH` are mandatory when building " "on non-FreeBSD hosts. Also, make sure to create the object directory " "pointed to by the `MAKEOBJDIRPREFIX` environment variable." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/cutting-edge/_index.adoc:1181 msgid "Refer to man:arch[7] and man:build[7] for more details." msgstr "" diff --git a/documentation/content/en/books/handbook/firewalls/_index.po b/documentation/content/en/books/handbook/firewalls/_index.po index 7089e3817b..e834c0f87e 100644 --- a/documentation/content/en/books/handbook/firewalls/_index.po +++ b/documentation/content/en/books/handbook/firewalls/_index.po @@ -1,5626 +1,5626 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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/firewalls/_index.adoc:1 #, no-wrap msgid "FreeBSD has three firewalls built into the base system: PF, IPFW, and IPFILTER. This chapter covers how to define packet filtering rules, the differences between the firewalls built into FreeBSD and how to use them" msgstr "" #. type: YAML Front Matter: part #: documentation/content/en/books/handbook/firewalls/_index.adoc:1 #, no-wrap msgid "IV. Network Communication" msgstr "" #. type: YAML Front Matter: title #: documentation/content/en/books/handbook/firewalls/_index.adoc:1 #, no-wrap msgid "Chapter 33. Firewalls" msgstr "" #. type: Title = #: documentation/content/en/books/handbook/firewalls/_index.adoc:15 #, no-wrap msgid "Firewalls" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/firewalls/_index.adoc:53 #, no-wrap msgid "Synopsis" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:58 msgid "" "Firewalls make it possible to filter the incoming and outgoing traffic that " "flows through a system. A firewall can use one or more sets of \"rules\" to " "inspect network packets as they come in or go out of network connections and " "either allows the traffic through or blocks it. The rules of a firewall can " "inspect one or more characteristics of the packets such as the protocol " "type, source or destination host address, and source or destination port." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:61 msgid "" "Firewalls can enhance the security of a host or a network. They can be used " "to do one or more of the following:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:63 msgid "" "Protect and insulate the applications, services, and machines of an internal " "network from unwanted traffic from the public Internet." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:64 msgid "" "Limit or disable access from hosts of the internal network to services of " "the public Internet." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:65 msgid "" "Support network address translation (NAT), which allows an internal network " "to use private IP addresses and share a single connection to the public " "Internet using either a single IP address or a shared pool of automatically " "assigned public addresses." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:70 msgid "" "FreeBSD has three firewalls built into the base system: PF, IPFW, and " "IPFILTER, also known as IPF. FreeBSD also provides two traffic shapers for " "controlling bandwidth usage: man:altq[4] and man:dummynet[4]. ALTQ has " "traditionally been closely tied with PF and dummynet with IPFW. Each " "firewall uses rules to control the access of packets to and from a FreeBSD " "system, although they go about it in different ways and each has a different " "rule syntax." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:73 msgid "" "FreeBSD provides multiple firewalls in order to meet the different " "requirements and preferences for a wide variety of users. Each user should " "evaluate which firewall best meets their needs." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:75 msgid "After reading this chapter, you will know:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:77 msgid "How to define packet filtering rules." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:78 msgid "The differences between the firewalls built into FreeBSD." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:79 msgid "How to use and configure the PF firewall." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:80 msgid "How to use and configure the IPFW firewall." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:81 msgid "How to use and configure the IPFILTER firewall." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:83 msgid "Before reading this chapter, you should:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:85 msgid "Understand basic FreeBSD and Internet concepts." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:90 msgid "" "Since all firewalls are based on inspecting the values of selected packet " "control fields, the creator of the firewall ruleset must have an " "understanding of how TCP/IP works, what the different values in the packet " "control fields are, and how these values are used in a normal session " "conversation. For a good introduction, refer to http://" "www.ipprimer.com[Daryl's TCP/IP Primer]." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/firewalls/_index.adoc:93 #, no-wrap msgid "Firewall Concepts" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:101 msgid "" "A ruleset contains a group of rules which pass or block packets based on the " "values contained in the packet. The bi-directional exchange of packets " "between hosts comprises a session conversation. The firewall ruleset " "processes both the packets arriving from the public Internet, as well as the " "packets produced by the system as a response to them. Each TCP/IP service " "is predefined by its protocol and listening port. Packets destined for a " "specific service originate from the source address using an unprivileged " "port and target the specific service port on the destination address. All " "the above parameters can be used as selection criteria to create rules which " "will pass or block services." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:104 msgid "" "To lookup unknown port numbers, refer to [.filename]#/etc/services#. " "Alternatively, visit https://en.wikipedia.org/wiki/" "List_of_TCP_and_UDP_port_numbers[https://en.wikipedia.org/wiki/" "List_of_TCP_and_UDP_port_numbers] and do a port number lookup to find the " "purpose of a particular port number." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:106 msgid "" "Check out this link for http://web.archive.org/web/20150803024617/http://" "www.sans.org/security-resources/idfaq/oddports.php[port numbers used by " "Trojans]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:111 msgid "" "FTP has two modes: active mode and passive mode. The difference is in how " "the data channel is acquired. Passive mode is more secure as the data " "channel is acquired by the ordinal ftp session requester. For a good " "explanation of FTP and the different modes, see http://www.slacksite.com/" "other/ftp.html[http://www.slacksite.com/other/ftp.html]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:115 msgid "" "A firewall ruleset can be either \"exclusive\" or \"inclusive\". An " "exclusive firewall allows all traffic through except for the traffic " "matching the ruleset. An inclusive firewall does the reverse as it only " "allows traffic matching the rules through and blocks everything else." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:120 msgid "" "An inclusive firewall offers better control of the outgoing traffic, making " "it a better choice for systems that offer services to the public Internet. " "It also controls the type of traffic originating from the public Internet " "that can gain access to a private network. All traffic that does not match " "the rules is blocked and logged. Inclusive firewalls are generally safer " "than exclusive firewalls because they significantly reduce the risk of " "allowing unwanted traffic." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:124 msgid "" "Unless noted otherwise, all configuration and example rulesets in this " "chapter create inclusive firewall rulesets." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:128 msgid "" "Security can be tightened further using a \"stateful firewall\". This type " "of firewall keeps track of open connections and only allows traffic which " "either matches an existing connection or opens a new, allowed connection." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:133 msgid "" "Stateful filtering treats traffic as a bi-directional exchange of packets " "comprising a session. When state is specified on a matching rule the " "firewall dynamically generates internal rules for each anticipated packet " "being exchanged during the session. It has sufficient matching capabilities " "to determine if a packet is valid for a session. Any packets that do not " "properly fit the session template are automatically rejected." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:135 msgid "When the session completes, it is removed from the dynamic state table." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:140 msgid "" "Stateful filtering allows one to focus on blocking/passing new sessions. If " "the new session is passed, all its subsequent packets are allowed " "automatically and any impostor packets are automatically rejected. If a new " "session is blocked, none of its subsequent packets are allowed. Stateful " "filtering provides advanced matching abilities capable of defending against " "the flood of different attack methods employed by attackers." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:144 msgid "" "NAT stands for _Network Address Translation_. NAT function enables the " "private LAN behind the firewall to share a single ISP-assigned IP address, " "even if that address is dynamically assigned. NAT allows each computer in " "the LAN to have Internet access, without having to pay the ISP for multiple " "Internet accounts or IP addresses." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:147 msgid "" "NAT will automatically translate the private LAN IP address for each system " "on the LAN to the single public IP address as packets exit the firewall " "bound for the public Internet. It also performs the reverse translation for " "returning packets." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:149 msgid "" "According to RFC 1918, the following IP address ranges are reserved for " "private networks which will never be routed directly to the public Internet, " "and therefore are available for use with NAT:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:151 msgid "`10.0.0.0/8`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:152 msgid "`172.16.0.0/12`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:153 msgid "`192.168.0.0/16`." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:159 msgid "" "When working with the firewall rules, be _very careful_. Some " "configurations _can lock the administrator out_ of the server. To be on the " "safe side, consider performing the initial firewall configuration from the " "local console rather than doing it remotely over ssh." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/firewalls/_index.adoc:162 #, no-wrap msgid "PF" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:166 msgid "" "Since FreeBSD 5.3, a ported version of OpenBSD's PF firewall has been " "included as an integrated part of the base system. PF is a complete, full-" "featured firewall that has optional support for ALTQ (Alternate Queuing), " "which provides Quality of Service (QoS)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:169 msgid "" "The OpenBSD Project maintains the definitive reference for PF in the http://" "www.openbsd.org/faq/pf/[PF FAQ]. Peter Hansteen maintains a thorough PF " "tutorial at http://home.nuug.no/\\~peter/pf/[http://home.nuug.no/~peter/pf/]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:174 msgid "" "When reading the http://www.openbsd.org/faq/pf/[PF FAQ], keep in mind that " "FreeBSD's version of PF has diverged substantially from the upstream OpenBSD " "version over the years. Not all features work the same way on FreeBSD as " "they do in OpenBSD and vice versa." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:178 msgid "" "The {freebsd-pf} is a good place to ask questions about configuring and " "running the PF firewall. Check the mailing list archives before asking a " "question as it may have already been answered." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:182 msgid "" "This section of the Handbook focuses on PF as it pertains to FreeBSD. It " "demonstrates how to enable PF and ALTQ. It also provides several examples " "for creating rulesets on a FreeBSD system." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:183 #, no-wrap msgid "Enabling PF" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:187 msgid "" "To use PF, its kernel module must be first loaded. This section describes " "the entries that can be added to [.filename]#/etc/rc.conf# to enable PF." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:189 msgid "Start by adding `pf_enable=yes` to [.filename]#/etc/rc.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:193 #, no-wrap msgid "# sysrc pf_enable=yes\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:197 msgid "" "Additional options, described in man:pfctl[8], can be passed to PF when it " "is started. Add or change this entry in [.filename]#/etc/rc.conf# and " "specify any required flags between the two quotes (`\"\"`):" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:201 #, no-wrap msgid "pf_flags=\"\" # additional flags for pfctl startup\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:207 msgid "" "PF will not start if it cannot find its ruleset configuration file. By " "default, FreeBSD does not ship with a ruleset and there is no [.filename]#/" "etc/pf.conf#. Example rulesets can be found in [.filename]#/usr/share/" "examples/pf/#. If a custom ruleset has been saved somewhere else, add a " "line to [.filename]#/etc/rc.conf# which specifies the full path to the file:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:211 #, no-wrap msgid "pf_rules=\"/path/to/pf.conf\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:215 msgid "" "Logging support for PF is provided by man:pflog[4]. To enable logging " "support, add `pflog_enable=yes` to [.filename]#/etc/rc.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:219 #, no-wrap msgid "# sysrc pflog_enable=yes\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:222 msgid "" "The following lines can also be added to change the default location of the " "log file or to specify any additional flags to pass to man:pflog[4] when it " "is started:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:227 #, no-wrap msgid "" "pflog_logfile=\"/var/log/pflog\" # where pflogd should store the logfile\n" "pflog_flags=\"\" # additional flags for pflogd startup\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:230 msgid "" "Finally, if there is a LAN behind the firewall and packets need to be " "forwarded for the computers on the LAN, or NAT is required, enable the " "following option:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:234 #, no-wrap msgid "gateway_enable=\"YES\" # Enable as LAN gateway\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:237 msgid "" "After saving the needed edits, PF can be started with logging support by " "typing:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:242 #, no-wrap msgid "" "# service pf start\n" "# service pflog start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:247 msgid "" "By default, PF reads its configuration rules from [.filename]#/etc/pf.conf# " "and modifies, drops, or passes packets according to the rules or definitions " "specified in this file. The FreeBSD installation includes several sample " "files located in [.filename]#/usr/share/examples/pf/#. Refer to the http://" "www.openbsd.org/faq/pf/[PF FAQ] for complete coverage of PF rulesets." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:251 msgid "" "To control PF, use `pfctl`. crossref:firewalls[pfctl,Useful `pfctl` " "Options] summarizes some useful options to this command. Refer to " "man:pfctl[8] for a description of all available options:" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/firewalls/_index.adoc:252 #, no-wrap msgid "Useful `pfctl` Options" msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:256 #, no-wrap msgid "Command" msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:258 #, no-wrap msgid "Purpose" msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:259 #, no-wrap msgid "`pfctl -e`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:261 #, no-wrap msgid "Enable PF." msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:262 #, no-wrap msgid "`pfctl -d`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:264 #, no-wrap msgid "Disable PF." msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:265 #, no-wrap msgid "`pfctl -F all -f /etc/pf.conf`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:267 #, no-wrap msgid "Flush all NAT, filter, state, and table rules and reload [.filename]#/etc/pf.conf#." msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:267 #, no-wrap msgid "`pfctl -s [ rules \\" msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:267 #, no-wrap msgid "nat \\" msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:268 #, no-wrap msgid "states ]`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:270 #, no-wrap msgid "Report on the filter rules, NAT rules, or state table." msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:271 #, no-wrap msgid "`pfctl -vnf /etc/pf.conf`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/firewalls/_index.adoc:272 #, no-wrap msgid "Check [.filename]#/etc/pf.conf# for errors, but do not load ruleset." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:278 msgid "" "package:security/sudo[] is useful for running commands like `pfctl` that " "require elevated privileges. It can be installed from the Ports Collection." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:282 msgid "" "To keep an eye on the traffic that passes through the PF firewall, consider " "installing the package:sysutils/pftop[] package or port. Once installed, " "pftop can be run to view a running snapshot of traffic in a format which is " "similar to man:top[1]." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:284 #, no-wrap msgid "PF Rulesets" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:288 msgid "" "This section demonstrates how to create a customized ruleset. It starts " "with the simplest of rulesets and builds upon its concepts using several " "examples to demonstrate real-world usage of PF's many features." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:291 msgid "" "The simplest possible ruleset is for a single machine that does not run any " "services and which needs access to one network, which may be the Internet. " "To create this minimal ruleset, edit [.filename]#/etc/pf.conf# so it looks " "like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:296 #, no-wrap msgid "" "block in all\n" "pass out all keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:302 msgid "" "The first rule denies all incoming traffic by default. The second rule " "allows connections created by this system to pass out, while retaining state " "information on those connections. This state information allows return " "traffic for those connections to pass back and should only be used on " "machines that can be trusted. The ruleset can be loaded with:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:306 #, no-wrap msgid "# pfctl -e ; pfctl -f /etc/pf.conf\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:311 msgid "" "In addition to keeping state, PF provides _lists_ and _macros_ which can be " "defined for use when creating rules. Macros can include lists and need to " "be defined before use. As an example, insert these lines at the very top of " "the ruleset:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:316 #, no-wrap msgid "" "tcp_services = \"{ ssh, smtp, domain, www, pop3, auth, pop3s }\"\n" "udp_services = \"{ domain }\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:323 msgid "" "PF understands port names as well as port numbers, as long as the names are " "listed in [.filename]#/etc/services#. This example creates two macros. The " "first is a list of seven TCP port names and the second is one UDP port " "name. Once defined, macros can be used in rules. In this example, all " "traffic is blocked except for the connections initiated by this system for " "the seven specified TCP services and the one specified UDP service:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:331 #, no-wrap msgid "" "tcp_services = \"{ ssh, smtp, domain, www, pop3, auth, pop3s }\"\n" "udp_services = \"{ domain }\"\n" "block all\n" "pass out proto tcp to any port $tcp_services keep state\n" "pass proto udp to any port $udp_services keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:335 msgid "" "Even though UDP is considered to be a stateless protocol, PF is able to " "track some state information. For example, when a UDP request is passed " "which asks a name server about a domain name, PF will watch for the response " "to pass it back." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:337 msgid "" "Whenever an edit is made to a ruleset, the new rules must be loaded so they " "can be used:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:341 #: documentation/content/en/books/handbook/firewalls/_index.adoc:559 #, no-wrap msgid "# pfctl -f /etc/pf.conf\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:345 msgid "" "If there are no syntax errors, `pfctl` will not output any messages during " "the rule load. Rules can also be tested before attempting to load them:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:349 #, no-wrap msgid "# pfctl -nf /etc/pf.conf\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:354 msgid "" "Including `-n` causes the rules to be interpreted only, but not loaded. " "This provides an opportunity to correct any errors. At all times, the last " "valid ruleset loaded will be enforced until either PF is disabled or a new " "ruleset is loaded." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:359 msgid "" "Adding `-v` to a `pfctl` ruleset verify or load will display the fully " "parsed rules exactly the way they will be loaded. This is extremely useful " "when debugging rules." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:362 #, no-wrap msgid "A Simple Gateway with NAT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:367 msgid "" "This section demonstrates how to configure a FreeBSD system running PF to " "act as a gateway for at least one other machine. The gateway needs at least " "two network interfaces, each connected to a separate network. In this " "example, [.filename]#xl0# is connected to the Internet and [.filename]#xl1# " "is connected to the internal network." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:370 msgid "" "First, enable the gateway to let the machine forward the network traffic it " "receives on one interface to another interface. This sysctl setting will " "forward IPv4 packets:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:374 #, no-wrap msgid "# sysctl net.inet.ip.forwarding=1\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:377 msgid "To forward IPv6 traffic, use:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:381 #, no-wrap msgid "# sysctl net.inet6.ip6.forwarding=1\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:384 msgid "" "To enable these settings at system boot, use man:sysrc[8] to add them to " "[.filename]#/etc/rc.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:389 #, no-wrap msgid "" "# sysrc gateway_enable=yes\n" "# sysrc ipv6_gateway_enable=yes\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:392 msgid "Verify with `ifconfig` that both of the interfaces are up and running." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:395 msgid "" "Next, create the PF rules to allow the gateway to pass traffic. While the " "following rule allows stateful traffic from hosts of the internal network to " "pass to the gateway, the `to` keyword does not guarantee passage all the way " "from source to destination:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:399 #, no-wrap msgid "pass in on xl1 from xl1:network to xl0:network port $ports keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:403 msgid "" "That rule only lets the traffic pass in to the gateway on the internal " "interface. To let the packets go further, a matching rule is needed:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:407 #, no-wrap msgid "pass out on xl0 from xl1:network to xl0:network port $ports keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:413 msgid "" "While these two rules will work, rules this specific are rarely needed. For " "a busy network admin, a readable ruleset is a safer ruleset. The remainder " "of this section demonstrates how to keep the rules as simple as possible for " "readability. For example, those two rules could be replaced with one rule:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:417 #, no-wrap msgid "pass from xl1:network to any port $ports keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:422 msgid "" "The `interface:network` notation can be replaced with a macro to make the " "ruleset even more readable. For example, a `$localnet` macro could be " "defined as the network directly attached to the internal interface " "(`$xl1:network`). Alternatively, the definition of `$localnet` could be " "changed to an _IP address/netmask_ notation to denote a network, such as " "`192.168.100.1/24` for a subnet of private addresses." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:425 msgid "" "If required, `$localnet` could even be defined as a list of networks. " "Whatever the specific needs, a sensible `$localnet` definition could be used " "in a typical pass rule as follows:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:429 #, no-wrap msgid "pass from $localnet to any port $ports keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:433 msgid "" "The following sample ruleset allows all traffic initiated by machines on the " "internal network. It first defines two macros to represent the external and " "internal 3COM interfaces of the gateway." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:438 msgid "" "For dialup users, the external interface will use [.filename]#tun0#. For an " "ADSL connection, specifically those using PPP over Ethernet (PPPoE), the " "correct external interface is [.filename]#tun0#, not the physical Ethernet " "interface." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:449 #, no-wrap msgid "" "ext_if = \"xl0\"\t# macro for external interface - use tun0 for PPPoE\n" "int_if = \"xl1\"\t# macro for internal interface\n" "localnet = $int_if:network\n" "# ext_if IP address could be dynamic, hence ($ext_if)\n" "nat on $ext_if from $localnet to any -> ($ext_if)\n" "block all\n" "pass from { lo0, $localnet } to any keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:454 msgid "" "This ruleset introduces the `nat` rule which is used to handle the network " "address translation from the non-routable addresses inside the internal " "network to the IP address assigned to the external interface. The " "parentheses surrounding the last part of the nat rule `($ext_if)` is " "included when the IP address of the external interface is dynamically " "assigned. It ensures that network traffic runs without serious " "interruptions even if the external IP address changes." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:457 msgid "" "Note that this ruleset probably allows more traffic to pass out of the " "network than is needed. One reasonable setup could create this macro:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:462 #, no-wrap msgid "" "client_out = \"{ ftp-data, ftp, ssh, domain, pop3, auth, nntp, http, \\\n" " https, cvspserver, 2628, 5999, 8000, 8080 }\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:465 msgid "to use in the main pass rule:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:470 #, no-wrap msgid "" "pass inet proto tcp from $localnet to any port $client_out \\\n" " flags S/SA keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:474 msgid "" "A few other pass rules may be needed. This one enables SSH on the external " "interface:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:478 #, no-wrap msgid "pass in inet proto tcp to $ext_if port ssh\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:481 msgid "This macro definition and rule allows DNS and NTP for internal clients:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:486 #, no-wrap msgid "" "udp_services = \"{ domain, ntp }\"\n" "pass quick inet proto { tcp, udp } to any port $udp_services keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:494 msgid "" "Note the `quick` keyword in this rule. Since the ruleset consists of " "several rules, it is important to understand the relationships between the " "rules in a ruleset. Rules are evaluated from top to bottom, in the sequence " "they are written. For each packet or connection evaluated by PF, _the last " "matching rule_ in the ruleset is the one which is applied. However, when a " "packet matches a rule which contains the `quick` keyword, the rule " "processing stops and the packet is treated according to that rule. This is " "very useful when an exception to the general rules is needed." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:496 #, no-wrap msgid "Creating an FTP Proxy" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:501 msgid "" "Configuring working FTP rules can be problematic due to the nature of the " "FTP protocol. FTP pre-dates firewalls by several decades and is insecure in " "its design. The most common points against using FTP include:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:503 msgid "Passwords are transferred in the clear." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:504 msgid "" "The protocol demands the use of at least two TCP connections (control and " "data) on separate ports." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:505 msgid "" "When a session is established, data is communicated using randomly selected " "ports." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:508 msgid "" "All of these points present security challenges, even before considering any " "potential security weaknesses in client or server software. More secure " "alternatives for file transfer exist, such as man:sftp[1] or man:scp[1], " "which both feature authentication and data transfer over encrypted " "connections." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:511 msgid "" "For those situations when FTP is required, PF provides redirection of FTP " "traffic to a small proxy program called man:ftp-proxy[8], which is included " "in the base system of FreeBSD. The role of the proxy is to dynamically " "insert and delete rules in the ruleset, using a set of anchors, to correctly " "handle FTP traffic." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:513 msgid "To enable the FTP proxy, add this line to [.filename]#/etc/rc.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:517 #, no-wrap msgid "ftpproxy_enable=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:520 msgid "Then start the proxy by running:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:524 #, no-wrap msgid "# service ftp-proxy start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:528 msgid "" "For a basic configuration, three elements need to be added to [.filename]#/" "etc/pf.conf#. First, the anchors which the proxy will use to insert the " "rules it generates for the FTP sessions:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:533 #, no-wrap msgid "" "nat-anchor \"ftp-proxy/*\"\n" "rdr-anchor \"ftp-proxy/*\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:536 msgid "Second, a pass rule is needed to allow FTP traffic in to the proxy." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:539 msgid "" "Third, redirection and NAT rules need to be defined before the filtering " "rules. Insert this `rdr` rule immediately after the `nat` rule:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:543 #, no-wrap msgid "rdr pass on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:546 msgid "Finally, allow the redirected traffic to pass:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:550 #, no-wrap msgid "pass out proto tcp from $proxy to any port ftp\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:553 msgid "where `$proxy` expands to the address the proxy daemon is bound to." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:555 msgid "" "Save [.filename]#/etc/pf.conf#, load the new rules, and verify from a client " "that FTP connections are working:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:565 msgid "" "This example covers a basic setup where the clients in the local network " "need to contact FTP servers elsewhere. This basic configuration should work " "well with most combinations of FTP clients and servers. As shown in man:ftp-" "proxy[8], the proxy's behavior can be changed in various ways by adding " "options to the `ftpproxy_flags=` line. Some clients or servers may have " "specific quirks that must be compensated for in the configuration, or there " "may be a need to integrate the proxy in specific ways such as assigning FTP " "traffic to a specific queue." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:567 msgid "" "For ways to run an FTP server protected by PF and man:ftp-proxy[8], " "configure a separate `ftp-proxy` in reverse mode, using `-R`, on a separate " "port with its own redirecting pass rule." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:569 #, no-wrap msgid "Managing ICMP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:572 msgid "" "Many of the tools used for debugging or troubleshooting a TCP/IP network " "rely on the Internet Control Message Protocol (ICMP), which was designed " "specifically with debugging in mind." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:575 msgid "" "The ICMP protocol sends and receives _control messages_ between hosts and " "gateways, mainly to provide feedback to a sender about any unusual or " "difficult conditions enroute to the target host. Routers use ICMP to " "negotiate packet sizes and other transmission parameters in a process often " "referred to as _path MTU discovery_." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:579 msgid "" "From a firewall perspective, some ICMP control messages are vulnerable to " "known attack vectors. Also, letting all diagnostic traffic pass " "unconditionally makes debugging easier, but it also makes it easier for " "others to extract information about the network. For these reasons, the " "following rule may not be optimal:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:583 #, no-wrap msgid "pass inet proto icmp from any to any\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:586 msgid "" "One solution is to let all ICMP traffic from the local network through while " "stopping all probes from outside the network:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:591 #, no-wrap msgid "" "pass inet proto icmp from $localnet to any keep state\n" "pass inet proto icmp from any to $ext_if keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:596 msgid "" "Additional options are available which demonstrate some of PF's " "flexibility. For example, rather than allowing all ICMP messages, one can " "specify the messages used by man:ping[8] and man:traceroute[8]. Start by " "defining a macro for that type of message:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:600 #, no-wrap msgid "icmp_types = \"echoreq\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:603 msgid "and a rule which uses the macro:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:607 #: documentation/content/en/books/handbook/firewalls/_index.adoc:647 #, no-wrap msgid "pass inet proto icmp all icmp-type $icmp_types keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:612 msgid "" "If other types of ICMP packets are needed, expand `icmp_types` to a list of " "those packet types. Type `more /usr/src/sbin/pfctl/pfctl_parser.c` to see " "the list of ICMP message types supported by PF. Refer to http://" "www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml[http://" "www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml] for an " "explanation of each message type." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:614 msgid "" "Since Unix `traceroute` uses UDP by default, another rule is needed to allow " "Unix `traceroute`:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:619 #, no-wrap msgid "" "# allow out the default range for traceroute(8):\n" "pass out on $ext_if inet proto udp from any to any port 33433 >< 33626 keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:624 msgid "" "Since `TRACERT.EXE` on Microsoft Windows systems uses ICMP echo request " "messages, only the first rule is needed to allow network traces from those " "systems. Unix `traceroute` can be instructed to use other protocols as " "well, and will use ICMP echo request messages if `-I` is used. Check the " "man:traceroute[8] man page for details." msgstr "" #. type: Title ===== #: documentation/content/en/books/handbook/firewalls/_index.adoc:626 #, no-wrap msgid "Path MTU Discovery" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:631 msgid "" "Internet protocols are designed to be device independent, and one " "consequence of device independence is that the optimal packet size for a " "given connection cannot always be predicted reliably. The main constraint " "on packet size is the _Maximum Transmission Unit_ (MTU) which sets the upper " "limit on the packet size for an interface. Type `ifconfig` to view the MTUs " "for a system's network interfaces." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:636 msgid "" "TCP/IP uses a process known as path MTU discovery to determine the right " "packet size for a connection. This process sends packets of varying sizes " "with the \"Do not fragment\" flag set, expecting an ICMP return packet of " "\"type 3, code 4\" when the upper limit has been reached. Type 3 means " "\"destination unreachable\", and code 4 is short for \"fragmentation needed, " "but the do-not-fragment flag is set\". To allow path MTU discovery in order " "to support connections to other MTUs, add the `destination unreachable` type " "to the `icmp_types` macro:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:640 #, no-wrap msgid "icmp_types = \"{ echoreq, unreach }\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:643 msgid "" "Since the pass rule already uses that macro, it does not need to be modified " "to support the new ICMP type:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:651 msgid "" "PF allows filtering on all variations of ICMP types and codes. The list of " "possible types and codes are documented in man:icmp[4] and man:icmp6[4]." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:653 #, no-wrap msgid "Using Tables" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:658 msgid "" "Some types of data are relevant to filtering and redirection at a given " "time, but their definition is too long to be included in the ruleset file. " "PF supports the use of tables, which are defined lists that can be " "manipulated without needing to reload the entire ruleset, and which can " "provide fast lookups. Table names are always enclosed within `< >`, like " "this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:662 #, no-wrap msgid "table { 192.168.2.0/24, !192.168.2.5 }\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:666 msgid "" "In this example, the `192.168.2.0/24` network is part of the table, except " "for the address `192.168.2.5`, which is excluded using the `!` operator. It " "is also possible to load tables from files where each item is on a separate " "line, as seen in this example [.filename]#/etc/clients#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:671 #, no-wrap msgid "" "192.168.2.0/24\n" "!192.168.2.5\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:674 msgid "To refer to the file, define the table like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:678 #, no-wrap msgid "table persist file \"/etc/clients\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:681 msgid "Once the table is defined, it can be referenced by a rule:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:685 #, no-wrap msgid "pass inet proto tcp from to any port $client_out flags S/SA keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:689 msgid "" "A table's contents can be manipulated live, using `pfctl`. This example " "adds another network to the table:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:693 #, no-wrap msgid "# pfctl -t clients -T add 192.168.1.0/16\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:699 msgid "" "Note that any changes made this way will take affect now, making them ideal " "for testing, but will not survive a power failure or reboot. To make the " "changes permanent, modify the definition of the table in the ruleset or edit " "the file that the table refers to. One can maintain the on-disk copy of the " "table using a man:cron[8] job which dumps the table's contents to disk at " "regular intervals, using a command such as `pfctl -t clients -T show >/etc/" "clients`. Alternatively, [.filename]#/etc/clients# can be updated with the " "in-memory table contents:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:703 #, no-wrap msgid "# pfctl -t clients -T replace -f /etc/clients\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:706 #, no-wrap msgid "Using Overload Tables to Protect SSH" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:709 msgid "" "Those who run SSH on an external interface have probably seen something like " "this in the authentication logs:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:718 #, no-wrap msgid "" "Sep 26 03:12:34 skapet sshd[25771]: Failed password for root from 200.72.41.31 port 40992 ssh2\n" "Sep 26 03:12:34 skapet sshd[5279]: Failed password for root from 200.72.41.31 port 40992 ssh2\n" "Sep 26 03:12:35 skapet sshd[5279]: Received disconnect from 200.72.41.31: 11: Bye Bye\n" "Sep 26 03:12:44 skapet sshd[29635]: Invalid user admin from 200.72.41.31\n" "Sep 26 03:12:44 skapet sshd[24703]: input_userauth_request: invalid user admin\n" "Sep 26 03:12:44 skapet sshd[24703]: Failed password for invalid user admin from 200.72.41.31 port 41484 ssh2\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:721 msgid "" "This is indicative of a brute force attack where somebody or some program is " "trying to discover the user name and password which will let them into the " "system." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:726 msgid "" "If external SSH access is needed for legitimate users, changing the default " "port used by SSH can offer some protection. However, PF provides a more " "elegant solution. Pass rules can contain limits on what connecting hosts " "can do and violators can be banished to a table of addresses which are " "denied some or all access. It is even possible to drop all existing " "connections from machines which overreach the limits." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:728 msgid "" "To configure this, create this table in the tables section of the ruleset:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:732 #, no-wrap msgid "table persist\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:735 msgid "" "Then, somewhere early in the ruleset, add rules to block brute access while " "allowing legitimate access:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:743 #, no-wrap msgid "" "block quick from \n" "pass inet proto tcp from any to $localnet port $tcp_services \\\n" " flags S/SA keep state \\\n" " (max-src-conn 100, max-src-conn-rate 15/5, \\\n" " overload flush global)\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:747 msgid "" "The part in parentheses defines the limits and the numbers should be changed " "to meet local requirements. It can be read as follows:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:749 msgid "" "`max-src-conn` is the number of simultaneous connections allowed from one " "host." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:751 msgid "" "`max-src-conn-rate` is the rate of new connections allowed from any single " "host (_15_) per number of seconds (_5_)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:754 msgid "" "`overload ` means that any host which exceeds these limits gets " "its address added to the `bruteforce` table. The ruleset blocks all traffic " "from addresses in the `bruteforce` table." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:756 msgid "" "Finally, `flush global` says that when a host reaches the limit, that all " "(`global`) of that host's connections will be terminated (`flush`)." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:760 msgid "" "These rules will _not_ block slow bruteforcers, as described in http://" "home.nuug.no/\\~peter/hailmary2013/[http://home.nuug.no/~peter/" "hailmary2013/]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:764 msgid "" "This example ruleset is intended mainly as an illustration. For example, if " "a generous number of connections in general are wanted, but the desire is to " "be more restrictive when it comes to ssh, supplement the rule above with " "something like the one below, early on in the rule set:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:771 #, no-wrap msgid "" "pass quick proto { tcp, udp } from any to any port ssh \\\n" " flags S/SA keep state \\\n" " (max-src-conn 15, max-src-conn-rate 5/3, \\\n" " overload flush global)\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:776 #, no-wrap msgid "*It May Not be Necessary to Block All Overloaders:* +\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:778 msgid "" "It is worth noting that the overload mechanism is a general technique which " "does not apply exclusively to SSH, and it is not always optimal to entirely " "block all traffic from offenders." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:780 msgid "" "For example, an overload rule could be used to protect a mail service or a " "web service, and the overload table could be used in a rule to assign " "offenders to a queue with a minimal bandwidth allocation or to redirect to a " "specific web page." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:784 msgid "" "Over time, tables will be filled by overload rules and their size will grow " "incrementally, taking up more memory. Sometimes an IP address that is " "blocked is a dynamically assigned one, which has since been assigned to a " "host who has a legitimate reason to communicate with hosts in the local " "network." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:787 msgid "" "For situations like these, pfctl provides the ability to expire table " "entries. For example, this command will remove `` table entries " "which have not been referenced for `86400` seconds:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:791 #, no-wrap msgid "# pfctl -t bruteforce -T expire 86400\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:794 msgid "" "Similar functionality is provided by package:security/expiretable[], which " "removes table entries which have not been accessed for a specified period of " "time." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:797 msgid "" "Once installed, expiretable can be run to remove `` table " "entries older than a specified age. This example removes all entries older " "than 24 hours:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:801 #, no-wrap msgid "/usr/local/sbin/expiretable -v -d -t 24h bruteforce\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:804 #, no-wrap msgid "Protecting Against SPAM" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:808 msgid "" "Not to be confused with the spamd daemon which comes bundled with " "spamassassin, package:mail/spamd[] can be configured with PF to provide an " "outer defense against SPAM. This spamd hooks into the PF configuration " "using a set of redirections." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:810 msgid "" "Spammers tend to send a large number of messages, and SPAM is mainly sent " "from a few spammer friendly networks and a large number of hijacked " "machines, both of which are reported to _blocklists_ fairly quickly." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:814 msgid "" "When an SMTP connection from an address in a blocklist is received, spamd " "presents its banner and immediately switches to a mode where it answers SMTP " "traffic one byte at a time. This technique, which is intended to waste as " "much time as possible on the spammer's end, is called _tarpitting_. The " "specific implementation which uses one byte SMTP replies is often referred " "to as _stuttering_." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:817 msgid "" "This example demonstrates the basic procedure for setting up spamd with " "automatically updated blocklists. Refer to the man pages which are " "installed with package:mail/spamd[] for more information." msgstr "" #. type: Block title #: documentation/content/en/books/handbook/firewalls/_index.adoc:820 #, no-wrap msgid "Procedure: Configuring spamd" msgstr "" #. type: delimited block * 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:822 msgid "" "Install the package:mail/spamd[] package or port. To use spamd's greylisting " "features, man:fdescfs[5] must be mounted at [.filename]#/dev/fd#. Add the " "following line to [.filename]#/etc/fstab#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:826 #, no-wrap msgid " fdescfs /dev/fd fdescfs rw 0 0\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:829 msgid "Then, mount the filesystem:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:833 #, no-wrap msgid "# mount fdescfs\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:836 msgid "Next, edit the PF ruleset to include:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:845 #, no-wrap msgid "" "table persist\n" "table persist\n" "rdr pass on $ext_if inet proto tcp from to \\\n" " { $ext_if, $localnet } port smtp -> 127.0.0.1 port 8025\n" "rdr pass on $ext_if inet proto tcp from ! to \\\n" " { $ext_if, $localnet } port smtp -> 127.0.0.1 port 8025\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:849 msgid "" "The two tables `` and `` are essential. SMTP traffic " "from an address listed in `` but not in `` is redirected " "to the spamd daemon listening at port 8025." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:850 msgid "" "The next step is to configure spamd in [.filename]#/usr/local/etc/" "spamd.conf# and to add some [.filename]#rc.conf# parameters." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:853 msgid "" "The installation of package:mail/spamd[] includes a sample configuration " "file ([.filename]#/usr/local/etc/spamd.conf.sample#) and a man page for " "[.filename]#spamd.conf#. Refer to these for additional configuration " "options beyond those shown in this example." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:855 msgid "" "One of the first lines in the configuration file that does not begin with a " "`+#+` comment sign contains the block which defines the `all` list, which " "specifies the lists to use:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:860 #, no-wrap msgid "" "all:\\\n" " :traplist:allowlist:\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:863 msgid "" "This entry adds the desired blocklists, separated by colons (`:`). To use " "an allowlist to subtract addresses from a blocklist, add the name of the " "allowlist _immediately_ after the name of that blocklist. For example: " "`:blocklist:allowlist:`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:865 msgid "This is followed by the specified blocklist's definition:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:873 #, no-wrap msgid "" "traplist:\\\n" " :black:\\\n" " :msg=\"SPAM. Your address %A has sent spam within the last 24 hours\":\\\n" " :method=http:\\\n" " :file=www.openbsd.org/spamd/traplist.gz\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:879 msgid "" "where the first line is the name of the blocklist and the second line " "specifies the list type. The `msg` field contains the message to display to " "blocklisted senders during the SMTP dialogue. The `method` field specifies " "how spamd-setup fetches the list data; supported methods are `http`, `ftp`, " "from a `file` in a mounted file system, and via `exec` of an external " "program. Finally, the `file` field specifies the name of the file spamd " "expects to receive." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:881 msgid "" "The definition of the specified allowlist is similar, but omits the `msg` " "field since a message is not needed:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:888 #, no-wrap msgid "" "allowlist:\\\n" " :white:\\\n" " :method=file:\\\n" " :file=/var/mail/allowlist.txt\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:893 #, no-wrap msgid "*Choose Data Sources with Care:* +\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:896 msgid "" "Using all the blocklists in the sample [.filename]#spamd.conf# will block " "large blocks of the Internet. Administrators need to edit the file to " "create an optimal configuration which uses applicable data sources and, when " "necessary, uses custom lists." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:900 msgid "" "Next, add this entry to [.filename]#/etc/rc.conf#. Additional flags are " "described in the man page specified by the comment:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:904 #, no-wrap msgid "spamd_flags=\"-v\" # use \"\" and see spamd-setup(8) for flags\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:908 msgid "" "When finished, reload the ruleset, start spamd by typing `service obspamd " "start`, and complete the configuration using `spamd-setup`. Finally, create " "a man:cron[8] job which calls `spamd-setup` to update the tables at " "reasonable intervals." msgstr "" #. type: delimited block * 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:911 msgid "" "On a typical gateway in front of a mail server, hosts will soon start " "getting trapped within a few seconds to several minutes." msgstr "" #. type: delimited block * 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:915 msgid "" "PF also supports _greylisting_, which temporarily rejects messages from " "unknown hosts with _45n_ codes. Messages from greylisted hosts which try " "again within a reasonable time are let through. Traffic from senders which " "are set up to behave within the limits set by RFC 1123 and RFC 2821 are " "immediately let through." msgstr "" #. type: delimited block * 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:919 msgid "" "More information about greylisting as a technique can be found at the http://" "www.greylisting.org/[greylisting.org] web site. The most amazing thing " "about greylisting, apart from its simplicity, is that it still works. " "Spammers and malware writers have been very slow to adapt to bypass this " "technique." msgstr "" #. type: delimited block * 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:921 msgid "The basic procedure for configuring greylisting is as follows:" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/firewalls/_index.adoc:923 #, no-wrap msgid "Procedure: Configuring Greylisting" msgstr "" #. type: delimited block * 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:925 msgid "" "Make sure that man:fdescfs[5] is mounted as described in Step 1 of the " "previous Procedure." msgstr "" #. type: delimited block * 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:926 msgid "" "To run spamd in greylisting mode, add this line to [.filename]#/etc/rc.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:930 #, no-wrap msgid "spamd_grey=\"YES\" # use spamd greylisting if YES\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:933 msgid "" "Refer to the spamd man page for descriptions of additional related " "parameters." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:934 msgid "To complete the greylisting setup:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:939 #, no-wrap msgid "" "# service obspamd restart\n" "# service obspamlogd start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:943 msgid "" "Behind the scenes, the spamdb database tool and the spamlogd whitelist " "updater perform essential functions for the greylisting feature. spamdb is " "the administrator's main interface to managing the block, grey, and allow " "lists via the contents of the [.filename]#/var/db/spamdb# database." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:945 #, no-wrap msgid "Network Hygiene" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:948 msgid "" "This section describes how `block-policy`, `scrub`, and `antispoof` can be " "used to make the ruleset behave sanely." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:952 msgid "" "The `block-policy` is an option which can be set in the `options` part of " "the ruleset, which precedes the redirection and filtering rules. This " "option determines which feedback, if any, PF sends to hosts that are blocked " "by a rule. The option has two possible values: `drop` drops blocked packets " "with no feedback, and `return` returns a status code such as `Connection " "refused`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:955 msgid "" "If not set, the default policy is `drop`. To change the `block-policy`, " "specify the desired value:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:959 #, no-wrap msgid "set block-policy return\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:965 msgid "" "In PF, `scrub` is a keyword which enables network packet normalization. " "This process reassembles fragmented packets and drops TCP packets that have " "invalid flag combinations. Enabling `scrub` provides a measure of " "protection against certain kinds of attacks based on incorrect handling of " "packet fragments. A number of options are available, but the simplest form " "is suitable for most configurations:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:969 #, no-wrap msgid "scrub in all\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:973 msgid "" "Some services, such as NFS, require specific fragment handling options. " "Refer to https://home.nuug.no/\\~peter/pf/en/scrub.html[https://home.nuug.no/" "~peter/pf/en/scrub.html] for more information." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:975 msgid "" "This example reassembles fragments, clears the \"do not fragment\" bit, and " "sets the maximum segment size to 1440 bytes:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:979 #, no-wrap msgid "scrub in all fragment reassemble no-df max-mss 1440\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:982 msgid "" "The `antispoof` mechanism protects against activity from spoofed or forged " "IP addresses, mainly by blocking packets appearing on interfaces and in " "directions which are logically not possible." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:984 msgid "" "These rules weed out spoofed traffic coming in from the rest of the world as " "well as any spoofed packets which originate in the local network:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:989 #, no-wrap msgid "" "antispoof for $ext_if\n" "antispoof for $int_if\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:992 #, no-wrap msgid "Handling Non-Routable Addresses" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:997 msgid "" "Even with a properly configured gateway to handle network address " "translation, one may have to compensate for other people's " "misconfigurations. A common misconfiguration is to let traffic with non-" "routable addresses out to the Internet. Since traffic from non-routeable " "addresses can play a part in several DoS attack techniques, consider " "explicitly blocking traffic from non-routeable addresses from entering the " "network through the external interface." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1000 msgid "" "In this example, a macro containing non-routable addresses is defined, then " "used in blocking rules. Traffic to and from these addresses is quietly " "dropped on the gateway's external interface." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1006 #, no-wrap msgid "" "martians = \"{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, \\\n" "\t 10.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, \\\n" "\t 0.0.0.0/8, 240.0.0.0/4 }\"\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1009 #, no-wrap msgid "" "block drop in quick on $ext_if from $martians to any\n" "block drop out quick on $ext_if from any to $martians\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:1011 #, no-wrap msgid "Enabling ALTQ" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1015 msgid "" "On FreeBSD, ALTQ can be used with PF to provide Quality of Service (QOS). " "Once ALTQ is enabled, queues can be defined in the ruleset which determine " "the processing priority of outbound packets." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1017 msgid "" "Before enabling ALTQ, refer to man:altq[4] to determine if the drivers for " "the network cards installed on the system support it." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1023 msgid "" "ALTQ is not available as a loadable kernel module. If the system's " "interfaces support ALTQ, create a custom kernel using the instructions in " "crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel]. The " "following kernel options are available. The first is needed to enable " "ALTQ. At least one of the other options is necessary to specify the " "queueing scheduler algorithm:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1032 #, no-wrap msgid "" "options ALTQ\n" "options ALTQ_CBQ # Class Based Queuing (CBQ)\n" "options ALTQ_RED # Random Early Detection (RED)\n" "options ALTQ_RIO # RED In/Out\n" "options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)\n" "options ALTQ_PRIQ # Priority Queuing (PRIQ)\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1035 msgid "The following scheduler algorithms are available:" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1036 #, no-wrap msgid "CBQ" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1038 msgid "" "Class Based Queuing (CBQ) is used to divide a connection's bandwidth into " "different classes or queues to prioritize traffic based on filter rules." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1039 #, no-wrap msgid "RED" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1042 msgid "" "Random Early Detection (RED) is used to avoid network congestion by " "measuring the length of the queue and comparing it to the minimum and " "maximum thresholds for the queue. When the queue is over the maximum, all " "new packets are randomly dropped." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1043 #, no-wrap msgid "RIO" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1045 msgid "" "In Random Early Detection In and Out (RIO) mode, RED maintains multiple " "average queue lengths and multiple threshold values, one for each QOS level." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1046 #, no-wrap msgid "HFSC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1048 msgid "" "Hierarchical Fair Service Curve Packet Scheduler (HFSC) is described in " "http://www-2.cs.cmu.edu/\\~hzhang/HFSC/main.html[http://www-2.cs.cmu.edu/" "~hzhang/HFSC/main.html]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1049 #, no-wrap msgid "PRIQ" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1051 msgid "" "Priority Queuing (PRIQ) always passes traffic that is in a higher queue " "first." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1053 msgid "" "More information about the scheduling algorithms and example rulesets are " "available at the https://web.archive.org/web/20151109213426/http://" "www.openbsd.org/faq/pf/queueing.html[OpenBSD's web archive]." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/firewalls/_index.adoc:1055 #, no-wrap msgid "IPFW" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1059 msgid "" "IPFW is a stateful firewall written for FreeBSD which supports both IPv4 and " "IPv6. It is comprised of several components: the kernel firewall filter " "rule processor and its integrated packet accounting facility, the logging " "facility, NAT, the man:dummynet[4] traffic shaper, a forward facility, a " "bridge facility, and an ipstealth facility." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1062 msgid "" "FreeBSD provides a sample ruleset in [.filename]#/etc/rc.firewall# which " "defines several firewall types for common scenarios to assist novice users " "in generating an appropriate ruleset. IPFW provides a powerful syntax which " "advanced users can use to craft customized rulesets that meet the security " "requirements of a given environment." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1064 msgid "" "This section describes how to enable IPFW, provides an overview of its rule " "syntax, and demonstrates several rulesets for common configuration scenarios." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:1066 #, no-wrap msgid "Enabling IPFW" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1069 msgid "" "IPFW is included in the basic FreeBSD install as a kernel loadable module, " "meaning that a custom kernel is not needed in order to enable IPFW." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1072 msgid "" "For those users who wish to statically compile IPFW support into a custom " "kernel, see crossref:firewalls[firewalls-ipfw-kernelconfig, IPFW Kernel " "Options]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1074 msgid "" "To configure the system to enable IPFW at boot time, add " "`firewall_enable=\"YES\"` to [.filename]#/etc/rc.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1078 #, no-wrap msgid "# sysrc firewall_enable=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1081 msgid "" "To use one of the default firewall types provided by FreeBSD, add another " "line which specifies the type:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1085 #, no-wrap msgid "# sysrc firewall_type=\"open\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1088 msgid "The available types are:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1090 msgid "`open`: passes all traffic." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1091 msgid "`client`: protects only this machine." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1092 msgid "`simple`: protects the whole network." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1093 msgid "" "`closed`: entirely disables IP traffic except for the loopback interface." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1094 msgid "`workstation`: protects only this machine using stateful rules." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1095 msgid "`UNKNOWN`: disables the loading of firewall rules." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1096 msgid "" "[.filename]#filename#: full path of the file containing the firewall ruleset." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1098 msgid "" "If `firewall_type` is set to either `client` or `simple`, modify the default " "rules found in [.filename]#/etc/rc.firewall# to fit the configuration of the " "system." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1100 msgid "Note that the `filename` type is used to load a custom ruleset." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1103 msgid "" "An alternate way to load a custom ruleset is to set the `firewall_script` " "variable to the absolute path of an _executable script_ that includes IPFW " "commands. The examples used in this section assume that the " "`firewall_script` is set to [.filename]#/etc/ipfw.rules#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1107 #, no-wrap msgid "# sysrc firewall_script=\"/etc/ipfw.rules\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1110 msgid "To enable logging through man:syslogd[8], include this line:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1114 #, no-wrap msgid "# sysrc firewall_logging=\"YES\"\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1122 msgid "" "Only firewall rules with the `log` option will be logged. The default rules " "do not include this option and it must be manually added. Therefore it is " "advisable that the default ruleset is edited for logging. In addition, log " "rotation may be desired if the logs are stored in a separate file." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1126 msgid "" "There is no [.filename]#/etc/rc.conf# variable to set logging limits. To " "limit the number of times a rule is logged per connection attempt, specify " "the number using this line in [.filename]#/etc/sysctl.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1130 #, no-wrap msgid "# echo \"net.inet.ip.fw.verbose_limit=5\" >> /etc/sysctl.conf\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1133 msgid "" "To enable logging through a dedicated interface named `ipfw0`, add this line " "to [.filename]#/etc/rc.conf# instead:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1137 #, no-wrap msgid "# sysrc firewall_logif=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1140 msgid "Then use tcpdump to see what is being logged:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1144 #, no-wrap msgid "# tcpdump -t -n -i ipfw0\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1150 msgid "There is no overhead due to logging unless tcpdump is attached." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1154 msgid "" "After saving the needed edits, start the firewall. To enable logging limits " "now, also set the `sysctl` value specified above:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1159 #, no-wrap msgid "" "# service ipfw start\n" "# sysctl net.inet.ip.fw.verbose_limit=5\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:1162 #, no-wrap msgid "IPFW Rule Syntax" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1170 msgid "" "When a packet enters the IPFW firewall, it is compared against the first " "rule in the ruleset and progresses one rule at a time, moving from top to " "bottom in sequence. When the packet matches the selection parameters of a " "rule, the rule's action is executed and the search of the ruleset terminates " "for that packet. This is referred to as \"first match wins\". If the " "packet does not match any of the rules, it gets caught by the mandatory IPFW " "default rule number 65535, which denies all packets and silently discards " "them. However, if the packet matches a rule that contains the `count`, " "`skipto`, or `tee` keywords, the search continues. Refer to man:ipfw[8] for " "details on how these keywords affect rule processing." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1176 msgid "" "When creating an IPFW rule, keywords must be written in the following " "order. Some keywords are mandatory while other keywords are optional. The " "words shown in uppercase represent a variable and the words shown in " "lowercase must precede the variable that follows it. The `+#+` symbol is " "used to mark the start of a comment and may appear at the end of a rule or " "on its own line. Blank lines are ignored." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1178 msgid "" "`_CMD RULE_NUMBER set SET_NUMBER ACTION log LOG_AMOUNT PROTO from SRC " "SRC_PORT to DST DST_PORT OPTIONS_`" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1182 msgid "" "This section provides an overview of these keywords and their options. It " "is not an exhaustive list of every possible option. Refer to man:ipfw[8] " "for a complete description of the rule syntax that can be used when creating " "IPFW rules." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1183 #, no-wrap msgid "CMD" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1185 msgid "Every rule must start with `ipfw add`." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1186 #, no-wrap msgid "RULE_NUMBER" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1190 msgid "" "Each rule is associated with a number from `1` to `65534`. The number is " "used to indicate the order of rule processing. Multiple rules can have the " "same number, in which case they are applied according to the order in which " "they have been added." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1191 #, no-wrap msgid "SET_NUMBER" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1195 msgid "" "Each rule is associated with a set number from `0` to `31`. Sets can be " "individually disabled or enabled, making it possible to quickly add or " "delete a set of rules. If a SET_NUMBER is not specified, the rule will be " "added to set `0`." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1196 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1942 #, no-wrap msgid "ACTION" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1199 msgid "" "A rule can be associated with one of the following actions. The specified " "action will be executed when the packet matches the selection criterion of " "the rule." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1201 msgid "" "`allow | accept | pass | permit`: these keywords are equivalent and allow " "packets that match the rule." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1206 msgid "" "`check-state`: checks the packet against the dynamic state table. If a " "match is found, execute the action associated with the rule which generated " "this dynamic rule, otherwise move to the next rule. A `check-state` rule " "does not have selection criterion. If no `check-state` rule is present in " "the ruleset, the dynamic rules table is checked at the first `keep-state` or " "`limit` rule." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1209 msgid "" "`count`: updates counters for all packets that match the rule. The search " "continues with the next rule." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1211 msgid "" "`deny | drop`: either word silently discards packets that match this rule." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1214 msgid "Additional actions are available. Refer to man:ipfw[8] for details." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1215 #, no-wrap msgid "LOG_AMOUNT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1221 msgid "" "When a packet matches a rule with the `log` keyword, a message will be " "logged to man:syslogd[8] with a facility name of `SECURITY`. Logging only " "occurs if the number of packets logged for that particular rule does not " "exceed a specified LOG_AMOUNT. If no LOG_AMOUNT is specified, the limit is " "taken from the value of `net.inet.ip.fw.verbose_limit`. A value of zero " "removes the logging limit. Once the limit is reached, logging can be re-" "enabled by clearing the logging counter or the packet counter for that rule, " "using `ipfw resetlog`." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1226 msgid "" "Logging is done after all other packet matching conditions have been met, " "and before performing the final action on the packet. The administrator " "decides which rules to enable logging on." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1228 #, no-wrap msgid "PROTO" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1230 msgid "" "This optional value can be used to specify any protocol name or number found " "in [.filename]#/etc/protocols#." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1231 #, no-wrap msgid "SRC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1236 msgid "" "The `from` keyword must be followed by the source address or a keyword that " "represents the source address. An address can be represented by `any`, `me` " "(any address configured on an interface on this system), `me6`, (any IPv6 " "address configured on an interface on this system), or `table` followed by " "the number of a lookup table which contains a list of addresses. When " "specifying an IP address, it can be optionally followed by its CIDR mask or " "subnet mask. For example, `1.2.3.4/25` or `1.2.3.4:255.255.255.128`." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1237 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2008 #, no-wrap msgid "SRC_PORT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1239 msgid "" "An optional source port can be specified using the port number or name from " "[.filename]#/etc/services#." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1240 #, no-wrap msgid "DST" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1243 msgid "" "The `to` keyword must be followed by the destination address or a keyword " "that represents the destination address. The same keywords and addresses " "described in the SRC section can be used to describe the destination." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1244 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2021 #, no-wrap msgid "DST_PORT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1246 msgid "" "An optional destination port can be specified using the port number or name " "from [.filename]#/etc/services#." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1247 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1972 #, no-wrap msgid "OPTIONS" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1251 msgid "" "Several keywords can follow the source and destination. As the name " "suggests, OPTIONS are optional. Commonly used options include `in` or " "`out`, which specify the direction of packet flow, `icmptypes` followed by " "the type of ICMP message, and `keep-state`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1253 msgid "" "When a `keep-state` rule is matched, the firewall will create a dynamic rule " "which matches bidirectional traffic between the source and destination " "addresses and ports using the same protocol." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1258 msgid "" "The dynamic rules facility is vulnerable to resource depletion from a SYN-" "flood attack which would open a huge number of dynamic rules. To counter " "this type of attack with IPFW, use `limit`. This option limits the number " "of simultaneous sessions by checking the open dynamic rules, counting the " "number of times this rule and IP address combination occurred. If this " "count is greater than the value specified by `limit`, the packet is " "discarded." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1261 msgid "" "Dozens of OPTIONS are available. Refer to man:ipfw[8] for a description of " "each available option." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:1262 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2049 #, no-wrap msgid "Example Ruleset" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1267 msgid "" "This section demonstrates how to create an example stateful firewall ruleset " "script named [.filename]#/etc/ipfw.rules#. In this example, all connection " "rules use `in` or `out` to clarify the direction. They also use `via` " "_interface-name_ to specify the interface the packet is traveling over." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1271 msgid "" "When first creating or testing a firewall ruleset, consider temporarily " "setting this tunable:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1275 #, no-wrap msgid "net.inet.ip.fw.default_to_accept=\"1\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1278 msgid "" "This sets the default policy of man:ipfw[8] to be more permissive than the " "default `deny ip from any to any`, making it slightly more difficult to get " "locked out of the system right after a reboot." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1283 msgid "" "The firewall script begins by indicating that it is a Bourne shell script " "and flushes any existing rules. It then creates the `cmd` variable so that " "`ipfw add` does not have to be typed at the beginning of every rule. It " "also defines the `pif` variable which represents the name of the interface " "that is attached to the Internet." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1289 #, no-wrap msgid "" "#!/bin/sh\n" "# Flush out the list before we begin.\n" "ipfw -q -f flush\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1293 #, no-wrap msgid "" "# Set rules command prefix\n" "cmd=\"ipfw -q add\"\n" "pif=\"dc0\" # interface name of NIC attached to Internet\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1296 msgid "" "The first two rules allow all traffic on the trusted internal interface and " "on the loopback interface:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1301 #, no-wrap msgid "" "# Change xl0 to LAN NIC interface name\n" "$cmd 00005 allow all from any to any via xl0\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1304 #, no-wrap msgid "" "# No restrictions on Loopback Interface\n" "$cmd 00010 allow all from any to any via lo0\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1307 msgid "" "The next rule allows the packet through if it matches an existing entry in " "the dynamic rules table:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1311 #, no-wrap msgid "$cmd 00101 check-state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1314 msgid "" "The next set of rules defines which stateful connections internal systems " "can create to hosts on the Internet:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1322 #, no-wrap msgid "" "# Allow access to public DNS\n" "# Replace x.x.x.x with the IP address of a public DNS server\n" "# and repeat for each DNS server in /etc/resolv.conf\n" "$cmd 00110 allow tcp from any to x.x.x.x 53 out via $pif setup keep-state\n" "$cmd 00111 allow udp from any to x.x.x.x 53 out via $pif keep-state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1328 #, no-wrap msgid "" "# Allow access to ISP's DHCP server for cable/DSL configurations.\n" "# Use the first rule and check log for IP address.\n" "# Then, uncomment the second rule, input the IP address, and delete the first rule\n" "$cmd 00120 allow log udp from any to any 67 out via $pif keep-state\n" "#$cmd 00120 allow udp from any to x.x.x.x 67 out via $pif keep-state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1332 #, no-wrap msgid "" "# Allow outbound HTTP and HTTPS connections\n" "$cmd 00200 allow tcp from any to any 80 out via $pif setup keep-state\n" "$cmd 00220 allow tcp from any to any 443 out via $pif setup keep-state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1336 #, no-wrap msgid "" "# Allow outbound email connections\n" "$cmd 00230 allow tcp from any to any 25 out via $pif setup keep-state\n" "$cmd 00231 allow tcp from any to any 110 out via $pif setup keep-state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1339 #, no-wrap msgid "" "# Allow outbound ping\n" "$cmd 00250 allow icmp from any to any out via $pif keep-state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1342 #, no-wrap msgid "" "# Allow outbound NTP\n" "$cmd 00260 allow udp from any to any 123 out via $pif keep-state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1345 #, no-wrap msgid "" "# Allow outbound SSH\n" "$cmd 00280 allow tcp from any to any 22 out via $pif setup keep-state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1348 #, no-wrap msgid "" "# deny and log all other outbound connections\n" "$cmd 00299 deny log all from any to any out via $pif\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1353 msgid "" "The next set of rules controls connections from Internet hosts to the " "internal network. It starts by denying packets typically associated with " "attacks and then explicitly allows specific types of connections. All the " "authorized services that originate from the Internet use `limit` to prevent " "flooding." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1366 #, no-wrap msgid "" "# Deny all inbound traffic from non-routable reserved address spaces\n" "$cmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP\n" "$cmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP\n" "$cmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP\n" "$cmd 00303 deny all from 127.0.0.0/8 to any in via $pif #loopback\n" "$cmd 00304 deny all from 0.0.0.0/8 to any in via $pif #loopback\n" "$cmd 00305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config\n" "$cmd 00306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs\n" "$cmd 00307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster interconnect\n" "$cmd 00308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1369 #, no-wrap msgid "" "# Deny public pings\n" "$cmd 00310 deny icmp from any to any in via $pif\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1372 #, no-wrap msgid "" "# Deny ident\n" "$cmd 00315 deny tcp from any to any 113 in via $pif\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1378 #, no-wrap msgid "" "# Deny all Netbios services.\n" "$cmd 00320 deny tcp from any to any 137 in via $pif\n" "$cmd 00321 deny tcp from any to any 138 in via $pif\n" "$cmd 00322 deny tcp from any to any 139 in via $pif\n" "$cmd 00323 deny tcp from any to any 81 in via $pif\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1381 #, no-wrap msgid "" "# Deny fragments\n" "$cmd 00330 deny all from any to any frag in via $pif\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1384 #, no-wrap msgid "" "# Deny ACK packets that did not match the dynamic rule table\n" "$cmd 00332 deny tcp from any to any established in via $pif\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1388 #, no-wrap msgid "" "# Allow traffic from ISP's DHCP server.\n" "# Replace x.x.x.x with the same IP address used in rule 00120.\n" "#$cmd 00360 allow udp from any to x.x.x.x 67 in via $pif keep-state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1391 #, no-wrap msgid "" "# Allow HTTP connections to internal web server\n" "$cmd 00400 allow tcp from any to me 80 in via $pif setup limit src-addr 2\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1394 #, no-wrap msgid "" "# Allow inbound SSH connections\n" "$cmd 00410 allow tcp from any to me 22 in via $pif setup limit src-addr 2\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1397 #, no-wrap msgid "" "# Reject and log all other incoming connections\n" "$cmd 00499 deny log all from any to any in via $pif\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1400 msgid "" "The last rule logs all packets that do not match any of the rules in the " "ruleset:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1405 #, no-wrap msgid "" "# Everything else is denied and logged\n" "$cmd 00999 deny log all from any to any\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:1408 #, no-wrap msgid "In-kernel NAT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1413 msgid "" "FreeBSD's IPFW firewall has two implementations of NAT: the userland " "implementation man:natd[8], and the more recent in-kernel NAT " "implementation. Both work in conjunction with IPFW to provide network " "address translation. This can be used to provide an Internet Connection " "Sharing solution so that several internal computers can connect to the " "Internet using a single public IP address." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1417 msgid "" "To do this, the FreeBSD machine connected to the Internet must act as a " "gateway. This system must have two NICs, where one is connected to the " "Internet and the other is connected to the internal LAN. Each machine " "connected to the LAN should be assigned an IP address in the private network " "space, as defined by https://www.ietf.org/rfc/rfc1918.txt[RFC 1918]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1420 msgid "" "Some additional configuration is needed in order to enable the in-kernel NAT " "facility of IPFW. To enable in-kernel NAT support at boot time, the " "following must be set in [.filename]#/etc/rc.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1426 #, no-wrap msgid "" "gateway_enable=\"YES\"\n" "firewall_enable=\"YES\"\n" "firewall_nat_enable=\"YES\"\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1432 msgid "" "When `firewall_nat_enable` is set but `firewall_enable` is not, it will have " "no effect and do nothing. This is because the in-kernel NAT implementation " "is only compatible with IPFW." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1439 msgid "" "When the ruleset contains stateful rules, the positioning of the NAT rule is " "critical and the `skipto` action is used. The `skipto` action requires a " "rule number so that it knows which rule to jump to. The example below " "builds upon the firewall ruleset shown in the previous section. It adds " "some additional entries and modifies some existing rules in order to " "configure the firewall for in-kernel NAT. It starts by adding some " "additional variables which represent the rule number to skip to, the `keep-" "state` option, and a list of TCP ports which will be used to reduce the " "number of rules." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1449 #, no-wrap msgid "" "#!/bin/sh\n" "ipfw -q -f flush\n" "cmd=\"ipfw -q add\"\n" "skip=\"skipto 1000\"\n" "pif=dc0\n" "ks=\"keep-state\"\n" "good_tcpo=\"22,25,37,53,80,443,110\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1454 msgid "" "With in-kernel NAT it is necessary to disable TCP segmentation offloading " "(TSO) due to the architecture of man:libalias[3], a library implemented as a " "kernel module to provide the in-kernel NAT facility of IPFW. TSO can be " "disabled on a per network interface basis using man:ifconfig[8] or on a " "system wide basis using man:sysctl[8]. To disable TSO system wide, the " "following must be set it [.filename]#/etc/sysctl.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1458 #, no-wrap msgid "net.inet.tcp.tso=\"0\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1467 msgid "" "A NAT instance will also be configured. It is possible to have multiple NAT " "instances each with their own configuration. For this example only one NAT " "instance is needed, NAT instance number 1. The configuration can take a few " "options such as: `if` which indicates the public interface, `same_ports` " "which takes care that aliased ports and local port numbers are mapped the " "same, `unreg_only` will result in only unregistered (private) address spaces " "to be processed by the NAT instance, and `reset` which will help to keep a " "functioning NAT instance even when the public IP address of the IPFW machine " "changes. For all possible options that can be passed to a single NAT " "instance configuration consult man:ipfw[8]. When configuring a stateful " "NATing firewall, it is necessary to allow translated packets to be " "reinjected in the firewall for further processing. This can be achieved by " "disabling `one_pass` behavior at the start of the firewall script." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1472 #, no-wrap msgid "" "ipfw disable one_pass\n" "ipfw -q nat 1 config if $pif same_ports unreg_only reset\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1478 msgid "" "The inbound NAT rule is inserted _after_ the two rules which allow all " "traffic on the trusted and loopback interfaces and after the reassemble rule " "but _before_ the `check-state` rule. It is important that the rule number " "selected for this NAT rule, in this example `100`, is higher than the first " "three rules and lower than the `check-state` rule. Furthermore, because of " "the behavior of in-kernel NAT it is advised to place a reassemble rule just " "before the first NAT rule and after the rules that allow traffic on trusted " "interface. Normally, IP fragmentation should not happen, but when dealing " "with IPSEC/ESP/GRE tunneling traffic it might and the reassembling of " "fragments is necessary before handing the complete packet over to the in-" "kernel NAT facility." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1482 msgid "" "The reassemble rule was not needed with userland man:natd[8] because the " "internal workings of the IPFW `divert` action already takes care of " "reassembling packets before delivery to the socket as also stated in " "man:ipfw[8]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1485 msgid "" "The NAT instance and rule number used in this example does not match with " "the default NAT instance and rule number created by " "[.filename]#rc.firewall#. [.filename]#rc.firewall# is a script that sets up " "the default firewall rules present in FreeBSD." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1495 #, no-wrap msgid "" "$cmd 005 allow all from any to any via xl0 # exclude LAN traffic\n" "$cmd 010 allow all from any to any via lo0 # exclude loopback traffic\n" "$cmd 099 reass all from any to any in # reassemble inbound packets\n" "$cmd 100 nat 1 ip from any to any in via $pif # NAT any inbound packets\n" "# Allow the packet through if it has an existing entry in the dynamic rules table\n" "$cmd 101 check-state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1499 msgid "" "The outbound rules are modified to replace the `allow` action with the " "`$skip` variable, indicating that rule processing will continue at rule " "`1000`. The seven `tcp` rules have been replaced by rule `125` as the " "`$good_tcpo` variable contains the seven allowed outbound ports." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1503 msgid "" "Remember that IPFW's performance is largely determined by the number of " "rules present in the ruleset." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1512 #, no-wrap msgid "" "# Authorized outbound packets\n" "$cmd 120 $skip udp from any to x.x.x.x 53 out via $pif $ks\n" "$cmd 121 $skip udp from any to x.x.x.x 67 out via $pif $ks\n" "$cmd 125 $skip tcp from any to any $good_tcpo out via $pif setup $ks\n" "$cmd 130 $skip icmp from any to any out via $pif $ks\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1518 msgid "" "The inbound rules remain the same, except for the very last rule which " "removes the `via $pif` in order to catch both inbound and outbound rules. " "The NAT rule must follow this last outbound rule, must have a higher number " "than that last rule, and the rule number must be referenced by the `skipto` " "action. In this ruleset, rule number `1000` handles passing all packets to " "our configured instance for NAT processing. The next rule allows any packet " "which has undergone NAT processing to pass." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1524 #, no-wrap msgid "" "$cmd 999 deny log all from any to any\n" "$cmd 1000 nat 1 ip from any to any out via $pif # skipto location for outbound stateful rules\n" "$cmd 1001 allow ip from any to any\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1527 msgid "" "In this example, rules `100`, `101`, `125`, `1000`, and `1001` control the " "address translation of the outbound and inbound packets so that the entries " "in the dynamic state table always register the private LANIP address." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1539 msgid "" "Consider an internal web browser which initializes a new outbound HTTP " "session over port 80. When the first outbound packet enters the firewall, " "it does not match rule `100` because it is headed out rather than in. It " "passes rule `101` because this is the first packet and it has not been " "posted to the dynamic state table yet. The packet finally matches rule " "`125` as it is outbound on an allowed port and has a source IP address from " "the internal LAN. On matching this rule, two actions take place. First, " "the `keep-state` action adds an entry to the dynamic state table and the " "specified action, `skipto rule 1000`, is executed. Next, the packet " "undergoes NAT and is sent out to the Internet. This packet makes its way to " "the destination web server, where a response packet is generated and sent " "back. This new packet enters the top of the ruleset. It matches rule `100` " "and has its destination IP address mapped back to the original internal " "address. It then is processed by the `check-state` rule, is found in the " "table as an existing session, and is released to the LAN." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1544 msgid "" "On the inbound side, the ruleset has to deny bad packets and allow only " "authorized services. A packet which matches an inbound rule is posted to " "the dynamic state table and the packet is released to the LAN. The packet " "generated as a response is recognized by the `check-state` rule as belonging " "to an existing session. It is then sent to rule `1000` to undergo NAT " "before being released to the outbound interface." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1552 msgid "" "Transitioning from userland man:natd[8] to in-kernel NAT might appear " "seamless at first but there is small catch. When using the GENERIC kernel, " "IPFW will load the [.filename]#libalias.ko# kernel module, when " "`firewall_nat_enable` is enabled in [.filename]#/etc/rc.conf#. The " "[.filename]#libalias.ko# kernel module only provides basic NAT " "functionality, whereas the userland implementation man:natd[8] has all NAT " "functionality available in its userland library without any extra " "configuration. All functionality refers to the following kernel modules " "that can additionally be loaded when needed besides the standard " "[.filename]#libalias.ko# kernel module: [.filename]#alias_ftp.ko#, " "[.filename]#alias_bbt.ko#, [.filename]#skinny.ko#, [.filename]#irc.ko#, " "[.filename]#alias_pptp.ko# and [.filename]#alias_smedia.ko# using the " "`kld_list` directive in [.filename]#/etc/rc.conf#. If a custom kernel is " "used, the full functionality of the userland library can be compiled in, in " "the kernel, using the `options LIBALIAS`." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:1554 #, no-wrap msgid "Port Redirection" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1560 msgid "" "The drawback with NAT in general is that the LAN clients are not accessible " "from the Internet. Clients on the LAN can make outgoing connections to the " "world but cannot receive incoming ones. This presents a problem if trying " "to run Internet services on one of the LAN client machines. A simple way " "around this is to redirect selected Internet ports on the NAT providing " "machine to a LAN client." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1563 msgid "" "For example, an IRC server runs on client `A` and a web server runs on " "client `B`. For this to work properly, connections received on ports 6667 " "(IRC) and 80 (HTTP) must be redirected to the respective machines." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1567 msgid "" "With in-kernel NAT all configuration is done in the NAT instance " "configuration. For a full list of options that an in-kernel NAT instance " "can use, consult man:ipfw[8]. The IPFW syntax follows the syntax of natd. " "The syntax for `redirect_port` is as follows:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1573 #, no-wrap msgid "" "redirect_port proto targetIP:targetPORT[-targetPORT]\n" " [aliasIP:]aliasPORT[-aliasPORT]\n" " [remoteIP[:remotePORT[-remotePORT]]]\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1576 msgid "To configure the above example setup, the arguments should be:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1581 #, no-wrap msgid "" "redirect_port tcp 192.168.0.2:6667 6667\n" "redirect_port tcp 192.168.0.3:80 80\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1584 msgid "" "After adding these arguments to the configuration of NAT instance 1 in the " "above ruleset, the TCP ports will be port forwarded to the LAN client " "machines running the IRC and HTTP services." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1590 #, no-wrap msgid "" "ipfw -q nat 1 config if $pif same_ports unreg_only reset \\\n" " redirect_port tcp 192.168.0.2:6667 6667 \\\n" " redirect_port tcp 192.168.0.3:80 80\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1594 msgid "" "Port ranges over individual ports can be indicated with `redirect_port`. " "For example, _tcp 192.168.0.2:2000-3000 2000-3000_ would redirect all " "connections received on ports 2000 to 3000 to ports 2000 to 3000 on client " "`A`." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:1595 #, no-wrap msgid "Address Redirection" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1601 msgid "" "Address redirection is useful if more than one IP address is available. " "Each LAN client can be assigned its own external IP address by man:ipfw[8], " "which will then rewrite outgoing packets from the LAN clients with the " "proper external IP address and redirects all traffic incoming on that " "particular IP address back to the specific LAN client. This is also known " "as static NAT. For example, if IP addresses `128.1.1.1`, `128.1.1.2`, and " "`128.1.1.3` are available, `128.1.1.1` can be used as the man:ipfw[8] " "machine's external IP address, while `128.1.1.2` and `128.1.1.3` are " "forwarded back to LAN clients `A` and `B`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1603 msgid "" "The `redirect_addr` syntax is as below, where `localIP` is the internal IP " "address of the LAN client, and `publicIP` the external IP address " "corresponding to the LAN client." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1607 #, no-wrap msgid "redirect_addr localIP publicIP\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1610 msgid "In the example, the arguments would read:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1615 #, no-wrap msgid "" "redirect_addr 192.168.0.2 128.1.1.2\n" "redirect_addr 192.168.0.3 128.1.1.3\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1619 msgid "" "Like `redirect_port`, these arguments are placed in a NAT instance " "configuration. With address redirection, there is no need for port " "redirection, as all data received on a particular IP address is redirected." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1622 msgid "" "The external IP addresses on the man:ipfw[8] machine must be active and " "aliased to the external interface. Refer to man:rc.conf[5] for details." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:1623 #, no-wrap msgid "Userspace NAT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1627 msgid "" "Let us start with a statement: the userspace NAT implementation: " "man:natd[8], has more overhead than in-kernel NAT. For man:natd[8] to " "translate packets, the packets have to be copied from the kernel to " "userspace and back which brings in extra overhead that is not present with " "in-kernel NAT." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1631 msgid "" "To enable the userspace NAT daemon man:natd[8] at boot time, the following " "is a minimum configuration in [.filename]#/etc/rc.conf#. Where " "`natd_interface` is set to the name of the NIC attached to the Internet. " "The man:rc[8] script of man:natd[8] will automatically check if a dynamic IP " "address is used and configure itself to handle that." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1637 #, no-wrap msgid "" "gateway_enable=\"YES\"\n" "natd_enable=\"YES\"\n" "natd_interface=\"rl0\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1642 msgid "" "In general, the above ruleset as explained for in-kernel NAT can also be " "used together with man:natd[8]. The exceptions are the configuration of the " "in-kernel NAT instance `(ipfw -q nat 1 config ...)` which is not needed " "together with reassemble rule 99 because its functionality is included in " -"the `divert` action. Rule number 100 and 1000 will have to change sligthly " +"the `divert` action. Rule number 100 and 1000 will have to change slightly " "as shown below." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1647 #, no-wrap msgid "" "$cmd 100 divert natd ip from any to any in via $pif\n" "$cmd 1000 divert natd ip from any to any out via $pif\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1652 msgid "" "To configure port or address redirection, a similar syntax as with in-kernel " "NAT is used. Although, now, instead of specifying the configuration in our " "ruleset script like with in-kernel NAT, configuration of man:natd[8] is best " "done in a configuration file. To do this, an extra flag must be passed via " "[.filename]#/etc/rc.conf# which specifies the path of the configuration file." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1656 #, no-wrap msgid "natd_flags=\"-f /etc/natd.conf\"\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1663 msgid "" "The specified file must contain a list of configuration options, one per " "line. For more information about the configuration file and possible " "variables, consult man:natd[8]. Below are two example entries, one per line:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1668 #, no-wrap msgid "" "redirect_port tcp 192.168.0.2:6667 6667\n" "redirect_addr 192.168.0.3 128.1.1.3\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:1673 #, no-wrap msgid "The IPFW Command" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1678 msgid "" "`ipfw` can be used to make manual, single rule additions or deletions to the " "active firewall while it is running. The problem with using this method is " "that all the changes are lost when the system reboots. It is recommended to " "instead write all the rules in a file and to use that file to load the rules " "at boot time and to replace the currently running firewall rules whenever " "that file changes." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1682 msgid "" "`ipfw` is a useful way to display the running firewall rules to the console " "screen. The IPFW accounting facility dynamically creates a counter for each " "rule that counts each packet that matches the rule. During the process of " "testing a rule, listing the rule with its counter is one way to determine if " "the rule is functioning as expected." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1684 msgid "To list all the running rules in sequence:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1688 #, no-wrap msgid "# ipfw list\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1691 msgid "" "To list all the running rules with a time stamp of when the last time the " "rule was matched:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1695 #, no-wrap msgid "# ipfw -t list\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1699 msgid "" "The next example lists accounting information and the packet count for " "matched rules along with the rules themselves. The first column is the rule " "number, followed by the number of matched packets and bytes, followed by the " "rule itself." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1703 #, no-wrap msgid "# ipfw -a list\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1706 msgid "To list dynamic rules in addition to static rules:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1710 #, no-wrap msgid "# ipfw -d list\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1713 msgid "To also show the expired dynamic rules:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1717 #, no-wrap msgid "# ipfw -d -e list\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1720 msgid "To zero the counters:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1724 #, no-wrap msgid "# ipfw zero\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1727 msgid "To zero the counters for just the rule with number _NUM_:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1731 #, no-wrap msgid "# ipfw zero NUM\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:1733 #, no-wrap msgid "Logging Firewall Messages" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1740 msgid "" "Even with the logging facility enabled, IPFW will not generate any rule " "logging on its own. The firewall administrator decides which rules in the " "ruleset will be logged, and adds the `log` keyword to those rules. Normally " "only deny rules are logged. It is customary to duplicate the \"ipfw default " "deny everything\" rule with the `log` keyword included as the last rule in " "the ruleset. This way, it is possible to see all the packets that did not " "match any of the rules in the ruleset." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1744 msgid "" "Logging is a two edged sword. If one is not careful, an over abundance of " "log data or a DoS attack can fill the disk with log files. Log messages are " "not only written to syslogd, but also are displayed on the root console " "screen and soon become annoying." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1749 msgid "" "The `IPFIREWALL_VERBOSE_LIMIT=5` kernel option limits the number of " "consecutive messages sent to man:syslogd[8], concerning the packet matching " "of a given rule. When this option is enabled in the kernel, the number of " "consecutive messages concerning a particular rule is capped at the number " "specified. There is nothing to be gained from 200 identical log messages. " "With this option set to five, five consecutive messages concerning a " "particular rule would be logged to syslogd and the remainder identical " "consecutive messages would be counted and posted to syslogd with a phrase " "like the following:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1753 #, no-wrap msgid "last message repeated 45 times\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1756 msgid "" "All logged packets messages are written by default to [.filename]#/var/log/" "security#, which is defined in [.filename]#/etc/syslog.conf#." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:1758 #, no-wrap msgid "Building a Rule Script" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1764 msgid "" "Most experienced IPFW users create a file containing the rules and code them " "in a manner compatible with running them as a script. The major benefit of " "doing this is the firewall rules can be refreshed in mass without the need " "of rebooting the system to activate them. This method is convenient in " "testing new rules as the procedure can be executed as many times as needed. " "Being a script, symbolic substitution can be used for frequently used values " "to be substituted into multiple rules." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1769 msgid "" "This example script is compatible with the syntax used by the man:sh[1], " "man:csh[1], and man:tcsh[1] shells. Symbolic substitution fields are " "prefixed with a dollar sign ($). Symbolic fields do not have the $ prefix. " "The value to populate the symbolic field must be enclosed in double quotes " "(\"\")." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1771 msgid "Start the rules file like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1789 #, no-wrap msgid "" "############### start of example ipfw rules script #############\n" "#\n" "ipfw -q -f flush # Delete all rules\n" "# Set defaults\n" "oif=\"tun0\" # out interface\n" "odns=\"192.0.2.11\" # ISP's DNS server IP address\n" "cmd=\"ipfw -q add \" # build rule prefix\n" "ks=\"keep-state\" # just too lazy to key this each time\n" "$cmd 00500 check-state\n" "$cmd 00502 deny all from any to any frag\n" "$cmd 00501 deny tcp from any to any established\n" "$cmd 00600 allow tcp from any to any 80 out via $oif setup $ks\n" "$cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks\n" "$cmd 00611 allow udp from any to $odns 53 out via $oif $ks\n" "################### End of example ipfw rules script ############\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1792 msgid "" "The rules are not important as the focus of this example is how the symbolic " "substitution fields are populated." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1794 msgid "" "If the above example was in [.filename]#/etc/ipfw.rules#, the rules could be " "reloaded by the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1798 #, no-wrap msgid "# sh /etc/ipfw.rules\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1801 msgid "" "[.filename]#/etc/ipfw.rules# can be located anywhere and the file can have " "any name." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1803 msgid "The same thing could be accomplished by running these commands by hand:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1813 #, no-wrap msgid "" "# ipfw -q -f flush\n" "# ipfw -q add check-state\n" "# ipfw -q add deny all from any to any frag\n" "# ipfw -q add deny tcp from any to any established\n" "# ipfw -q add allow tcp from any to any 80 out via tun0 setup keep-state\n" "# ipfw -q add allow tcp from any to 192.0.2.11 53 out via tun0 setup keep-state\n" "# ipfw -q add 00611 allow udp from any to 192.0.2.11 53 out via tun0 keep-state\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:1816 #, no-wrap msgid "IPFW Kernel Options" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1820 msgid "" "In order to statically compile IPFW support into a custom kernel, refer to " "the instructions in crossref:kernelconfig[kernelconfig,Configuring the " "FreeBSD Kernel]. The following options are available for the custom kernel " "configuration file:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1833 #, no-wrap msgid "" "options IPFIREWALL\t\t\t# enables IPFW\n" "options IPFIREWALL_VERBOSE\t\t# enables logging for rules with log keyword to syslogd(8)\n" "options IPFIREWALL_VERBOSE_LIMIT=5\t# limits number of logged packets per-entry\n" "options IPFIREWALL_DEFAULT_TO_ACCEPT # sets default policy to pass what is not explicitly denied\n" "options IPFIREWALL_NAT\t\t# enables basic in-kernel NAT support\n" "options LIBALIAS\t\t\t# enables full in-kernel NAT support\n" "options IPFIREWALL_NAT64\t\t# enables in-kernel NAT64 support\n" "options IPFIREWALL_NPTV6\t\t# enables in-kernel IPv6 NPT support\n" "options IPFIREWALL_PMOD\t\t# enables protocols modification module support\n" "options IPDIVERT\t\t\t# enables NAT through natd(8)\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1838 msgid "" "IPFW can be loaded as a kernel module: options above are built by default as " "modules or can be set at runtime using tunables." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/firewalls/_index.adoc:1841 #, no-wrap msgid "IPFILTER (IPF)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1844 msgid "" "IPFILTER, also known as IPF, is a cross-platform, open source firewall which " "has been ported to several operating systems, including FreeBSD, NetBSD, " "OpenBSD, and Solaris(TM)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1847 msgid "" "IPFILTER is a kernel-side firewall and NAT mechanism that can be controlled " "and monitored by userland programs. Firewall rules can be set or deleted " "using ipf, NAT rules can be set or deleted using ipnat, run-time statistics " "for the kernel parts of IPFILTER can be printed using ipfstat, and ipmon can " "be used to log IPFILTER actions to the system log files." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1850 msgid "" "IPF was originally written using a rule processing logic of \"the last " "matching rule wins\" and only used stateless rules. Since then, IPF has " "been enhanced to include the `quick` and `keep state` options." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1853 msgid "" "The IPF FAQ is at http://www.phildev.net/ipf/index.html[http://" "www.phildev.net/ipf/index.html]. A searchable archive of the IPFilter " "mailing list is available at http://marc.info/?l=ipfilter[http://marc.info/?" "l=ipfilter]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1856 msgid "" "This section of the Handbook focuses on IPF as it pertains to FreeBSD. It " "provides examples of rules that contain the `quick` and `keep state` options." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:1857 #, no-wrap msgid "Enabling IPF" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1860 msgid "" "IPF is included in the basic FreeBSD install as a kernel loadable module, " "meaning that a custom kernel is not needed in order to enable IPF." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1863 msgid "" "For users who prefer to statically compile IPF support into a custom kernel, " "refer to the instructions in crossref:kernelconfig[kernelconfig,Configuring " "the FreeBSD Kernel]. The following kernel options are available:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1870 #, no-wrap msgid "" "options IPFILTER\n" "options IPFILTER_LOG\n" "options IPFILTER_LOOKUP\n" "options IPFILTER_DEFAULT_BLOCK\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1873 msgid "" "where `options IPFILTER` enables support for IPFILTER, `options " "IPFILTER_LOG` enables IPF logging using the [.filename]#ipl# packet logging " "pseudo-device for every rule that has the `log` keyword, `IPFILTER_LOOKUP` " "enables IP pools in order to speed up IP lookups, and `options " "IPFILTER_DEFAULT_BLOCK` changes the default behavior so that any packet not " "matching a firewall `pass` rule gets blocked." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1877 msgid "" "To configure the system to enable IPF at boot time, add the following " "entries to [.filename]#/etc/rc.conf#. These entries will also enable " "logging and `default pass all`. To change the default policy to `block all` " "without compiling a custom kernel, remember to add a `block all` rule at the " "end of the ruleset." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1888 #, no-wrap msgid "" "ipfilter_enable=\"YES\" # Start ipf firewall\n" "ipfilter_rules=\"/etc/ipf.rules\" # loads rules definition text file\n" "ipv6_ipfilter_rules=\"/etc/ipf6.rules\" # loads rules definition text file for IPv6\n" "ipmon_enable=\"YES\" # Start IP monitor log\n" "ipmon_flags=\"-Ds\" # D = start as daemon\n" " # s = log to syslog\n" " # v = log tcp window, ack, seq\n" " # n = map IP & port to names\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1891 msgid "If NAT functionality is needed, also add these lines:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1897 #, no-wrap msgid "" "gateway_enable=\"YES\" # Enable as LAN gateway\n" "ipnat_enable=\"YES\" # Start ipnat function\n" "ipnat_rules=\"/etc/ipnat.rules\" # rules definition file for ipnat\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1900 msgid "Then, to start IPF now:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1904 #, no-wrap msgid "# service ipfilter start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1908 msgid "" "To load the firewall rules, specify the name of the ruleset file using " "`ipf`. The following command can be used to replace the currently running " "firewall rules:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:1912 #, no-wrap msgid "# ipf -Fa -f /etc/ipf.rules\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1915 msgid "" "where `-Fa` flushes all the internal rules tables and `-f` specifies the " "file containing the rules to load." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1918 msgid "" "This provides the ability to make changes to a custom ruleset and update the " "running firewall with a fresh copy of the rules without having to reboot the " "system. This method is convenient for testing new rules as the procedure " "can be executed as many times as needed." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1920 msgid "" "Refer to man:ipf[8] for details on the other flags available with this " "command." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:1921 #, no-wrap msgid "IPF Rule Syntax" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1927 msgid "" "This section describes the IPF rule syntax used to create stateful rules. " "When creating rules, keep in mind that unless the `quick` keyword appears in " "a rule, every rule is read in order, with the _last matching rule_ being the " "one that is applied. This means that even if the first rule to match a " "packet is a `pass`, if there is a later matching rule that is a `block`, the " "packet will be dropped. Sample rulesets can be found in [.filename]#/usr/" "share/examples/ipfilter#." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1930 msgid "" "When creating rules, a `+#+` character is used to mark the start of a " "comment and may appear at the end of a rule, to explain that rule's " "function, or on its own line. Any blank lines are ignored." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1935 msgid "" "The keywords which are used in rules must be written in a specific order, " "from left to right. Some keywords are mandatory while others are optional. " "Some keywords have sub-options which may be keywords themselves and also " "include more sub-options. The keyword order is as follows, where the words " "shown in uppercase represent a variable and the words shown in lowercase " "must precede the variable that follows it:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1937 msgid "" "`_ACTION DIRECTION OPTIONS proto PROTO_TYPE from SRC_ADDR SRC_PORT to " "DST_ADDR DST_PORT TCP_FLAG|ICMP_TYPE keep state STATE_`" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1941 msgid "" "This section describes each of these keywords and their options. It is not " "an exhaustive list of every possible option. Refer to man:ipf[5] for a " "complete description of the rule syntax that can be used when creating IPF " "rules and examples for using each keyword." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1946 msgid "" "The action keyword indicates what to do with the packet if it matches that " "rule. Every rule _must_ have an action. The following actions are " "recognized:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1948 msgid "`block`: drops the packet." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1950 msgid "`pass`: allows the packet." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1952 msgid "`log`: generates a log record." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1954 msgid "" "`count`: counts the number of packets and bytes which can provide an " "indication of how often a rule is used." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1956 msgid "`auth`: queues the packet for further processing by another program." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1958 msgid "" "`call`: provides access to functions built into IPF that allow more complex " "actions." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1960 msgid "" "`decapsulate`: removes any headers in order to process the contents of the " "packet." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1961 #, no-wrap msgid "DIRECTION" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1963 msgid "" "Next, each rule must explicitly state the direction of traffic using one of " "these keywords:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1965 msgid "`in`: the rule is applied against an inbound packet." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1967 msgid "`out`: the rule is applied against an outbound packet." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1969 msgid "`all`: the rule applies to either direction." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1971 msgid "" "If the system has multiple interfaces, the interface can be specified along " "with the direction. An example would be `in on fxp0`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1975 msgid "" "Options are optional. However, if multiple options are specified, they must " "be used in the order shown here." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1977 msgid "" "`log`: when performing the specified ACTION, the contents of the packet's " "headers will be written to the man:ipl[4] packet log pseudo-device." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1979 msgid "" "`quick`: if a packet matches this rule, the ACTION specified by the rule " "occurs and no further processing of any following rules will occur for this " "packet." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1982 msgid "" "`on`: must be followed by the interface name as displayed by " "man:ifconfig[8]. The rule will only match if the packet is going through " "the specified interface in the specified direction." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1984 msgid "" "When using the `log` keyword, the following qualifiers may be used in this " "order:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1986 msgid "" "`body`: indicates that the first 128 bytes of the packet contents will be " "logged after the headers." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1988 msgid "" "`first`: if the `log` keyword is being used in conjunction with a `keep " "state` option, this option is recommended so that only the triggering packet " "is logged and not every packet which matches the stateful connection." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1991 msgid "" "Additional options are available to specify error return messages. Refer to " "man:ipf[5] for more details." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1992 #, no-wrap msgid "PROTO_TYPE" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:1998 msgid "" "The protocol type is optional. However, it is mandatory if the rule needs " "to specify a SRC_PORT or a DST_PORT as it defines the type of protocol. " "When specifying the type of protocol, use the `proto` keyword followed by " "either a protocol number or name from [.filename]#/etc/protocols#. Example " "protocol names include `tcp`, `udp`, or `icmp`. If PROTO_TYPE is specified " "but no SRC_PORT or DST_PORT is specified, all port numbers for that protocol " "will match that rule." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:1999 #, no-wrap msgid "SRC_ADDR" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2003 msgid "" "The `from` keyword is mandatory and is followed by a keyword which " "represents the source of the packet. The source can be a hostname, an IP " "address followed by the CIDR mask, an address pool, or the keyword `all`. " "Refer to man:ipf[5] for examples." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2007 msgid "" "There is no way to match ranges of IP addresses which do not express " "themselves easily using the dotted numeric form / mask-length notation. The " "package:net-mgmt/ipcalc[] package or port may be used to ease the " "calculation of the CIDR mask. Additional information is available at the " "utility's web page: http://jodies.de/ipcalc[http://jodies.de/ipcalc]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2012 msgid "" "The port number of the source is optional. However, if it is used, it " "requires PROTO_TYPE to be first defined in the rule. The port number must " "also be preceded by the `proto` keyword." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2014 msgid "" "A number of different comparison operators are supported: `=` (equal to), `!" "=` (not equal to), `<` (less than), `>` (greater than), `<=` (less than or " "equal to), and `>=` (greater than or equal to)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2016 msgid "" "To specify port ranges, place the two port numbers between `<>` (less than " "and greater than ), `><` (greater than and less than ), or `:` (greater than " "or equal to and less than or equal to)." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:2017 #, no-wrap msgid "DST_ADDR" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2020 msgid "" "The `to` keyword is mandatory and is followed by a keyword which represents " "the destination of the packet. Similar to SRC_ADDR, it can be a hostname, " "an IP address followed by the CIDR mask, an address pool, or the keyword " "`all`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2025 msgid "" "Similar to SRC_PORT, the port number of the destination is optional. " "However, if it is used, it requires PROTO_TYPE to be first defined in the " "rule. The port number must also be preceded by the `proto` keyword." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:2026 #, no-wrap msgid "TCP_FLAG|ICMP_TYPE" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2029 msgid "" "If `tcp` is specified as the PROTO_TYPE, flags can be specified as letters, " "where each letter represents one of the possible TCP flags used to determine " "the state of a connection. Possible values are: `S` (SYN), `A` (ACK), `P` " "(PSH), `F` (FIN), `U` (URG), `R` (RST), `C` (CWN), and `E` (ECN)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2032 msgid "" "If `icmp` is specified as the PROTO_TYPE, the ICMP type to match can be " "specified. Refer to man:ipf[5] for the allowable types." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/firewalls/_index.adoc:2033 #, no-wrap msgid "STATE" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2037 msgid "" "If a `pass` rule contains `keep state`, IPF will add an entry to its dynamic " "state table and allow subsequent packets that match the connection. IPF can " "track state for TCP, UDP, and ICMP sessions. Any packet that IPF can be " "certain is part of an active session, even if it is a different protocol, " "will be allowed." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2044 msgid "" "In IPF, packets destined to go out through the interface connected to the " "public Internet are first checked against the dynamic state table. If the " "packet matches the next expected packet comprising an active session " "conversation, it exits the firewall and the state of the session " "conversation flow is updated in the dynamic state table. Packets that do " "not belong to an already active session are checked against the outbound " "ruleset. Packets coming in from the interface connected to the public " "Internet are first checked against the dynamic state table. If the packet " "matches the next expected packet comprising an active session, it exits the " "firewall and the state of the session conversation flow is updated in the " "dynamic state table. Packets that do not belong to an already active " "session are checked against the inbound ruleset." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2048 msgid "" "Several keywords can be added after `keep state`. If used, these keywords " "set various options that control stateful filtering, such as setting " "connection limits or connection age. Refer to man:ipf[5] for the list of " "available options and their descriptions." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2052 msgid "" "This section demonstrates how to create an example ruleset which only allows " "services matching `pass` rules and blocks all others." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2055 msgid "" "FreeBSD uses the loopback interface ([.filename]#lo0#) and the IP address " "`127.0.0.1` for internal communication. The firewall ruleset must contain " "rules to allow free movement of these internally used packets:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2061 #, no-wrap msgid "" "# no restrictions on loopback interface\n" "pass in quick on lo0 all\n" "pass out quick on lo0 all\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2066 msgid "" "The public interface connected to the Internet is used to authorize and " "control access of all outbound and inbound connections. If one or more " "interfaces are cabled to private networks, those internal interfaces may " "require rules to allow packets originating from the LAN to flow between the " "internal networks or to the interface attached to the Internet. The ruleset " "should be organized into three major sections: any trusted internal " "interfaces, outbound connections through the public interface, and inbound " "connections through the public interface." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2068 msgid "" "These two rules allow all traffic to pass through a trusted LAN interface " "named [.filename]#xl0#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2074 #, no-wrap msgid "" "# no restrictions on inside LAN interface for private network\n" "pass out quick on xl0 all\n" "pass in quick on xl0 all\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2077 msgid "" "The rules for the public interface's outbound and inbound sections should " "have the most frequently matched rules placed before less commonly matched " "rules, with the last rule in the section blocking and logging all packets " "for that interface and direction." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2081 msgid "" "This set of rules defines the outbound section of the public interface named " "[.filename]#dc0#. These rules keep state and identify the specific services " "that internal systems are authorized for public Internet access. All the " "rules use `quick` and specify the appropriate port numbers and, where " "applicable, destination addresses." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2087 #, no-wrap msgid "" "# interface facing Internet (outbound)\n" "# Matches session start requests originating from or behind the\n" "# firewall, destined for the Internet.\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2093 #, no-wrap msgid "" "# Allow outbound access to public DNS servers.\n" "# Replace x.x.x.x with address listed in /etc/resolv.conf.\n" "# Repeat for each DNS server.\n" "pass out quick on dc0 proto tcp from any to x.x.x.x port = 53 flags S keep state\n" "pass out quick on dc0 proto udp from any to x.x.x.x port = 53 keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2100 #, no-wrap msgid "" "# Allow access to ISP's specified DHCP server for cable or DSL networks.\n" "# Use the first rule, then check log for the IP address of DHCP server.\n" "# Then, uncomment the second rule, replace z.z.z.z with the IP address,\n" "# and comment out the first rule\n" "pass out log quick on dc0 proto udp from any to any port = 67 keep state\n" "#pass out quick on dc0 proto udp from any to z.z.z.z port = 67 keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2104 #, no-wrap msgid "" "# Allow HTTP and HTTPS\n" "pass out quick on dc0 proto tcp from any to any port = 80 flags S keep state\n" "pass out quick on dc0 proto tcp from any to any port = 443 flags S keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2108 #, no-wrap msgid "" "# Allow email\n" "pass out quick on dc0 proto tcp from any to any port = 110 flags S keep state\n" "pass out quick on dc0 proto tcp from any to any port = 25 flags S keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2111 #, no-wrap msgid "" "# Allow NTP\n" "pass out quick on dc0 proto tcp from any to any port = 37 flags S keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2114 #, no-wrap msgid "" "# Allow FTP\n" "pass out quick on dc0 proto tcp from any to any port = 21 flags S keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2117 #, no-wrap msgid "" "# Allow SSH\n" "pass out quick on dc0 proto tcp from any to any port = 22 flags S keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2120 #, no-wrap msgid "" "# Allow ping\n" "pass out quick on dc0 proto icmp from any to any icmp-type 8 keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2123 #, no-wrap msgid "" "# Block and log everything else\n" "block out log first quick on dc0 all\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2127 msgid "" "This example of the rules in the inbound section of the public interface " "blocks all undesirable packets first. This reduces the number of packets " "that are logged by the last rule." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2141 #, no-wrap msgid "" "# interface facing Internet (inbound)\n" "# Block all inbound traffic from non-routable or reserved address spaces\n" "block in quick on dc0 from 192.168.0.0/16 to any #RFC 1918 private IP\n" "block in quick on dc0 from 172.16.0.0/12 to any #RFC 1918 private IP\n" "block in quick on dc0 from 10.0.0.0/8 to any #RFC 1918 private IP\n" "block in quick on dc0 from 127.0.0.0/8 to any #loopback\n" "block in quick on dc0 from 0.0.0.0/8 to any #loopback\n" "block in quick on dc0 from 169.254.0.0/16 to any #DHCP auto-config\n" "block in quick on dc0 from 192.0.2.0/24 to any #reserved for docs\n" "block in quick on dc0 from 204.152.64.0/23 to any #Sun cluster interconnect\n" "block in quick on dc0 from 224.0.0.0/3 to any #Class D & E multicast\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2145 #, no-wrap msgid "" "# Block fragments and too short tcp packets\n" "block in quick on dc0 all with frags\n" "block in quick on dc0 proto tcp all with short\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2149 #, no-wrap msgid "" "# block source routed packets\n" "block in quick on dc0 all with opt lsrr\n" "block in quick on dc0 all with opt ssrr\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2152 #, no-wrap msgid "" "# Block OS fingerprint attempts and log first occurrence\n" "block in log first quick on dc0 proto tcp from any to any flags FUP\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2155 #, no-wrap msgid "" "# Block anything with special options\n" "block in quick on dc0 all with ipopts\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2159 #, no-wrap msgid "" "# Block public pings and ident\n" "block in quick on dc0 proto icmp all icmp-type 8\n" "block in quick on dc0 proto tcp from any to any port = 113\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2165 #, no-wrap msgid "" "# Block incoming Netbios services\n" "block in log first quick on dc0 proto tcp/udp from any to any port = 137\n" "block in log first quick on dc0 proto tcp/udp from any to any port = 138\n" "block in log first quick on dc0 proto tcp/udp from any to any port = 139\n" "block in log first quick on dc0 proto tcp/udp from any to any port = 81\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2169 msgid "" "Any time there are logged messages on a rule with the `log first` option, " "run `ipfstat -hio` to evaluate how many times the rule has been matched. A " "large number of matches may indicate that the system is under attack." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2172 msgid "" "The rest of the rules in the inbound section define which connections are " "allowed to be initiated from the Internet. The last rule denies all " "connections which were not explicitly allowed by previous rules in this " "section." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2178 #, no-wrap msgid "" "# Allow traffic in from ISP's DHCP server. Replace z.z.z.z with\n" "# the same IP address used in the outbound section.\n" "pass in quick on dc0 proto udp from z.z.z.z to any port = 68 keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2181 #, no-wrap msgid "" "# Allow public connections to specified internal web server\n" "pass in quick on dc0 proto tcp from any to x.x.x.x port = 80 flags S keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2184 #, no-wrap msgid "" "# Block and log only first occurrence of all remaining traffic.\n" "block in log first quick on dc0 all\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:2186 #, no-wrap msgid "Configuring NAT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2189 msgid "" "To enable NAT, add these statements to [.filename]#/etc/rc.conf# and specify " "the name of the file containing the NAT rules:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2195 #, no-wrap msgid "" "gateway_enable=\"YES\"\n" "ipnat_enable=\"YES\"\n" "ipnat_rules=\"/etc/ipnat.rules\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2200 msgid "" "NAT rules are flexible and can accomplish many different things to fit the " "needs of both commercial and home users. The rule syntax presented here has " "been simplified to demonstrate common usage. For a complete rule syntax " "description, refer to man:ipnat[5]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2202 msgid "" "The basic syntax for a NAT rule is as follows, where `map` starts the rule " "and _IF_ should be replaced with the name of the external interface:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2206 #, no-wrap msgid "map IF LAN_IP_RANGE -> PUBLIC_ADDRESS\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2211 msgid "" "The _LAN_IP_RANGE_ is the range of IP addresses used by internal clients. " "Usually, it is a private address range such as `192.168.1.0/24`. The " "_PUBLIC_ADDRESS_ can either be the static external IP address or the keyword " "`0/32` which represents the IP address assigned to _IF_." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2218 msgid "" "In IPF, when a packet arrives at the firewall from the LAN with a public " "destination, it first passes through the outbound rules of the firewall " "ruleset. Then, the packet is passed to the NAT ruleset which is read from " "the top down, where the first matching rule wins. IPF tests each NAT rule " "against the packet's interface name and source IP address. When a packet's " "interface name matches a NAT rule, the packet's source IP address in the " "private LAN is checked to see if it falls within the IP address range " "specified in _LAN_IP_RANGE_. On a match, the packet has its source IP " "address rewritten with the public IP address specified by _PUBLIC_ADDRESS_. " "IPF posts an entry in its internal NAT table so that when the packet returns " "from the Internet, it can be mapped back to its original private IP address " "before being passed to the firewall rules for further processing." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2221 msgid "" "For networks that have large numbers of internal systems or multiple " "subnets, the process of funneling every private IP address into a single " "public IP address becomes a resource problem. Two methods are available to " "relieve this issue." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2224 msgid "" "The first method is to assign a range of ports to use as source ports. By " "adding the `portmap` keyword, NAT can be directed to only use source ports " "in the specified range:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2228 #, no-wrap msgid "map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp 20000:60000\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2231 msgid "" "Alternately, use the `auto` keyword which tells NAT to determine the ports " "that are available for use:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2235 #, no-wrap msgid "map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp auto\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2240 msgid "" "The second method is to use a pool of public addresses. This is useful when " "there are too many LAN addresses to fit into a single public address and a " "block of public IP addresses is available. These public addresses can be " "used as a pool from which NAT selects an IP address as a packet's address is " "mapped on its way out." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2243 msgid "" "The range of public IP addresses can be specified using a netmask or CIDR " "notation. These two rules are equivalent:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2248 #, no-wrap msgid "" "map dc0 192.168.1.0/24 -> 204.134.75.0/255.255.255.0\n" "map dc0 192.168.1.0/24 -> 204.134.75.0/24\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2253 msgid "" "A common practice is to have a publicly accessible web server or mail server " "segregated to an internal network segment. The traffic from these servers " "still has to undergo NAT, but port redirection is needed to direct inbound " "traffic to the correct server. For example, to map a web server using the " "internal address `10.0.10.25` to its public IP address of `20.20.20.5`, use " "this rule:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2257 #, no-wrap msgid "rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2260 msgid "" "If it is the only web server, this rule would also work as it redirects all " "external HTTP requests to `10.0.10.25`:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2264 #, no-wrap msgid "rdr dc0 0.0.0.0/0 port 80 -> 10.0.10.25 port 80\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2269 msgid "" "IPF has a built in FTP proxy which can be used with NAT. It monitors all " "outbound traffic for active or passive FTP connection requests and " "dynamically creates temporary filter rules containing the port number used " "by the FTP data channel. This eliminates the need to open large ranges of " "high order ports for FTP connections." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2272 msgid "" "In this example, the first rule calls the proxy for outbound FTP traffic " "from the internal LAN. The second rule passes the FTP traffic from the " "firewall to the Internet, and the third rule handles all non-FTP traffic " "from the internal LAN:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2278 #, no-wrap msgid "" "map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcp\n" "map dc0 0.0.0.0/0 -> 0/32 proxy port 21 ftp/tcp\n" "map dc0 10.0.10.0/29 -> 0/32\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2282 msgid "" "The FTP `map` rules go before the NAT rule so that when a packet matches an " "FTP rule, the FTP proxy creates temporary filter rules to let the FTP " "session packets pass and undergo NAT. All LAN packets that are not FTP will " "not match the FTP rules but will undergo NAT if they match the third rule." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2285 msgid "" "Without the FTP proxy, the following firewall rules would instead be " "needed. Note that without the proxy, all ports above `1024` need to be " "allowed:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2291 #, no-wrap msgid "" "# Allow out LAN PC client FTP to public Internet\n" "# Active and passive modes\n" "pass out quick on rl0 proto tcp from any to any port = 21 flags S keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2294 #, no-wrap msgid "" "# Allow out passive mode data channel high order port numbers\n" "pass out quick on rl0 proto tcp from any to any port > 1024 flags S keep state\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2297 #, no-wrap msgid "" "# Active mode let data channel in from FTP server\n" "pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2301 msgid "" "Whenever the file containing the NAT rules is edited, run `ipnat` with `-CF` " "to delete the current NAT rules and flush the contents of the dynamic " "translation table. Include `-f` and specify the name of the NAT ruleset to " "load:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2305 #, no-wrap msgid "# ipnat -CF -f /etc/ipnat.rules\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2308 msgid "To display the NAT statistics:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2312 #, no-wrap msgid "# ipnat -s\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2315 msgid "To list the NAT table's current mappings:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2319 #, no-wrap msgid "# ipnat -l\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2322 msgid "" "To turn verbose mode on and display information relating to rule processing " "and active rules and table entries:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2326 #, no-wrap msgid "# ipnat -v\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:2328 #, no-wrap msgid "Viewing IPF Statistics" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2332 msgid "" "IPF includes man:ipfstat[8] which can be used to retrieve and display " "statistics which are gathered as packets match rules as they go through the " "firewall. Statistics are accumulated since the firewall was last started or " "since the last time they were reset to zero using `ipf -Z`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2334 msgid "The default `ipfstat` output looks like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2354 #, no-wrap msgid "" "input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0\n" " output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0\n" " input packets logged: blocked 99286 passed 0\n" " output packets logged: blocked 0 passed 0\n" " packets logged: input 0 output 0\n" " log failures: input 3898 output 0\n" " fragment state(in): kept 0 lost 0\n" " fragment state(out): kept 0 lost 0\n" " packet state(in): kept 169364 lost 0\n" " packet state(out): kept 431395 lost 0\n" " ICMP replies: 0 TCP RSTs sent: 0\n" " Result cache hits(in): 1215208 (out): 1098963\n" " IN Pullups succeeded: 2 failed: 0\n" " OUT Pullups succeeded: 0 failed: 0\n" " Fastroute successes: 0 failures: 0\n" " TCP cksum fails(in): 0 (out): 0\n" " Packet log flags set: (0)\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2360 msgid "" "Several options are available. When supplied with either `-i` for inbound " "or `-o` for outbound, the command will retrieve and display the appropriate " "list of filter rules currently installed and in use by the kernel. To also " "see the rule numbers, include `-n`. For example, `ipfstat -on` displays the " "outbound rules table with rule numbers:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2366 #, no-wrap msgid "" "@1 pass out on xl0 from any to any\n" "@2 block out on dc0 from any to any\n" "@3 pass out quick on dc0 proto tcp/udp from any to any keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2370 msgid "" "Include `-h` to prefix each rule with a count of how many times the rule was " "matched. For example, `ipfstat -oh` displays the outbound internal rules " "table, prefixing each rule with its usage count:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2376 #, no-wrap msgid "" "2451423 pass out on xl0 from any to any\n" "354727 block out on dc0 from any to any\n" "430918 pass out quick on dc0 proto tcp/udp from any to any keep state\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2382 msgid "" "To display the state table in a format similar to man:top[1], use `ipfstat " "-t`. When the firewall is under attack, this option provides the ability to " "identify and see the attacking packets. The optional sub-flags give the " "ability to select the destination or source IP, port, or protocol to be " "monitored in real time. Refer to man:ipfstat[8] for details." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:2383 #, no-wrap msgid "IPF Logging" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2387 msgid "" "IPF provides `ipmon`, which can be used to write the firewall's logging " "information in a human readable format. It requires that `options " "IPFILTER_LOG` be first added to a custom kernel using the instructions in " "crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2390 msgid "" "This command is typically run in daemon mode in order to provide a " "continuous system log file so that logging of past events may be reviewed. " "Since FreeBSD has a built in man:syslogd[8] facility to automatically rotate " "system logs, the default [.filename]#rc.conf# `ipmon_flags` statement uses `-" "Ds`:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2397 #, no-wrap msgid "" "ipmon_flags=\"-Ds\" # D = start as daemon\n" " # s = log to syslog\n" " # v = log tcp window, ack, seq\n" " # n = map IP & port to names\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2401 msgid "" "Logging provides the ability to review, after the fact, information such as " "which packets were dropped, what addresses they came from, and where they " "were going. This information is useful in tracking down attackers." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2406 msgid "" "Once the logging facility is enabled in [.filename]#rc.conf# and started " "with `service ipmon start`, IPF will only log the rules which contain the " "`log` keyword. The firewall administrator decides which rules in the " "ruleset should be logged and normally only deny rules are logged. It is " "customary to include the `log` keyword in the last rule in the ruleset. " "This makes it possible to see all the packets that did not match any of the " "rules in the ruleset." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2409 msgid "" "By default, `ipmon -Ds` mode uses `local0` as the logging facility. The " "following logging levels can be used to further segregate the logged data:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2416 #, no-wrap msgid "" "LOG_INFO - packets logged using the \"log\" keyword as the action rather than pass or block.\n" "LOG_NOTICE - packets logged which are also passed\n" "LOG_WARNING - packets logged which are also blocked\n" "LOG_ERR - packets which have been logged and which can be considered short due to an incomplete header\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2419 msgid "" "In order to setup IPF to log all data to [.filename]#/var/log/ipfilter.log#, " "first create the empty file:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2423 #, no-wrap msgid "# touch /var/log/ipfilter.log\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2426 msgid "" "Then, to write all logged messages to the specified file, add the following " "statement to [.filename]#/etc/syslog.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2430 #, no-wrap msgid "local0.* /var/log/ipfilter.log\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2433 msgid "" "To activate the changes and instruct man:syslogd[8] to read the modified " "[.filename]#/etc/syslog.conf#, run `service syslogd reload`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2435 msgid "" "Do not forget to edit [.filename]#/etc/newsyslog.conf# to rotate the new log " "file." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2438 msgid "" "Messages generated by `ipmon` consist of data fields separated by white " "space. Fields common to all messages are:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2440 msgid "The date of packet receipt." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2441 msgid "" "The time of packet receipt. This is in the form HH:MM:SS.F, for hours, " "minutes, seconds, and fractions of a second." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2442 msgid "The name of the interface that processed the packet." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2443 msgid "The group and rule number of the rule in the format `@0:17`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2444 msgid "" "The action: `p` for passed, `b` for blocked, `S` for a short packet, `n` did " "not match any rules, and `L` for a log rule." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2445 msgid "" "The addresses written as three fields: the source address and port separated " "by a comma, the -> symbol, and the destination address and port. For " "example: `209.53.17.22,80 -> 198.73.220.17,1722`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2446 msgid "`PR` followed by the protocol name or number: for example, `PR tcp`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2447 msgid "" "`len` followed by the header length and total length of the packet: for " "example, `len 20 40`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2450 msgid "" "If the packet is a TCP packet, there will be an additional field starting " "with a hyphen followed by letters corresponding to any flags that were set. " "Refer to man:ipf[5] for a list of letters and their flags." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2453 msgid "" "If the packet is an ICMP packet, there will be two fields at the end: the " "first always being \"icmp\" and the next being the ICMP message and sub-" "message type, separated by a slash. For example: `icmp 3/3` for a port " "unreachable message." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/firewalls/_index.adoc:2455 #, no-wrap msgid "Blacklistd" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2462 msgid "" "Blacklistd is a daemon listening to sockets awaiting to receive " "notifications from other daemons about connection attempts that failed or " "were successful. It is most widely used in blocking too many connection " "attempts on open ports. A prime example is SSH running on the internet " "getting a lot of requests from bots or scripts trying to guess passwords and " "gain access. Using blacklistd, the daemon can notify the firewall to create " "a filter rule to block excessive connection attempts from a single source " "after a number of tries. Blacklistd was first developed on NetBSD and " "appeared there in version 7. FreeBSD 11 imported blacklistd from NetBSD." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2467 msgid "" "This chapter describes how to set up blacklistd, configure it, and provides " "examples on how to use it. Readers should be familiar with basic firewall " "concepts like rules. For details, refer to the firewall chapter. PF is " "used in the examples, but other firewalls available on FreeBSD should be " "able to work with blacklistd, too." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:2468 #, no-wrap msgid "Enabling Blacklistd" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2474 msgid "" "The main configuration for blacklistd is stored in man:blacklistd.conf[5]. " "Various command line options are also available to change blacklistd's run-" "time behavior. Persistent configuration across reboots should be stored in " "[.filename]#/etc/blacklistd.conf#. To enable the daemon during system boot, " "add a `blacklistd_enable` line to [.filename]#/etc/rc.conf# like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2478 #, no-wrap msgid "# sysrc blacklistd_enable=yes\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2481 msgid "To start the service manually, run this command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2485 #, no-wrap msgid "# service blacklistd start\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:2487 #, no-wrap msgid "Creating a Blacklistd Ruleset" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2492 msgid "" "Rules for blacklistd are configured in man:blacklistd.conf[5] with one entry " "per line. Each rule contains a tuple separated by spaces or tabs. Rules " "either belong to a `local` or a `remote`, which applies to the machine where " "blacklistd is running or an outside source, respectively." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:2493 #, no-wrap msgid "Local Rules" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2496 msgid "An example blacklistd.conf entry for a local rule looks like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2501 #, no-wrap msgid "" "[local]\n" "ssh stream * * * 3 24h\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2505 msgid "" "All rules that follow the `[local]` section are treated as local rules " "(which is the default), applying to the local machine. When a `[remote]` " "section is encountered, all rules that follow it are handled as remote " "machine rules." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2513 msgid "" "Seven fields separated by either tabs or spaces define a rule. The first " "four fields identify the traffic that should be blocklisted. The three " "fields that follow define backlistd's behavior. Wildcards are denoted as " "asterisks (`*`), matching anything in this field. The first field defines " "the location. In local rules, these are the network ports. The syntax for " "the location field is as follows:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2517 #, no-wrap msgid "[address|interface][/mask][:port]\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2521 msgid "" "Addresses can be specified as IPv4 in numeric format or IPv6 in square " "brackets. An interface name like `_em0_` can also be used." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2525 msgid "" "The socket type is defined by the second field. TCP sockets are of type " "`stream`, whereas UDP is denoted as `dgram`. The example above uses TCP, " "since SSH is using that protocol." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2529 msgid "" "A protocol can be used in the third field of a blacklistd rule. The " "following protocols can be used: `tcp`, `udp`, `tcp6`, `udp6`, or numeric. " "A wildcard, like in the example, is typically used to match all protocols " "unless there is a reason to distinguish traffic by a certain protocol." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2532 msgid "" "In the fourth field, the effective user or owner of the daemon process that " "is reporting the event is defined. The username or UID can be used here, as " "well as a wildcard (see example rule above)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2535 msgid "" "The packet filter rule name is declared by the fifth field, which starts the " "behavior part of the rule. By default, blacklistd puts all blocks under a " "pf anchor called `blacklistd` in [.filename]#pf.conf# like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2541 #, no-wrap msgid "" "anchor \"blacklistd/*\" in on $ext_if\n" "block in\n" "pass out\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2547 msgid "" "For separate blocklists, an anchor name can be used in this field. In other " "cases, the wildcard will suffice. When a name starts with a hyphen (`-`) it " "means that an anchor with the default rule name prepended should be used. A " "modified example from the above using the hyphen would look like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2551 #, no-wrap msgid "ssh stream * * -ssh 3 24h\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2554 msgid "" "With such a rule, any new blocklist rules are added to an anchor called " "`blacklistd-ssh`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2558 msgid "" "To block whole subnets for a single rule violation, a `/` in the rule name " "can be used. This causes the remaining portion of the name to be " "interpreted as the mask to be applied to the address specified in the rule. " "For example, this rule would block every address adjoining `/24`." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2562 #, no-wrap msgid "22 stream tcp * */24 3 24h\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2568 msgid "" "It is important to specify the proper protocol here. IPv4 and IPv6 treat /" "24 differently, that is the reason why `*` cannot be used in the third field " "for this rule." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2571 msgid "" "This rule defines that if any one host in that network is misbehaving, " "everything else on that network will be blocked, too." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2575 msgid "" "The sixth field, called `nfail`, sets the number of login failures required " "to blocklist the remote IP in question. When a wildcard is used at this " "position, it means that blocks will never happen. In the example rule " "above, a limit of three is defined meaning that after three attempts to log " "into SSH on one connection, the IP is blocked." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2578 msgid "" "The last field in a blacklistd rule definition specifies how long a host is " "blocklisted. The default unit is seconds, but suffixes like `m`, `h`, and " "`d` can also be specified for minutes, hours, and days, respectively." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2582 msgid "" "The example rule in its entirety means that after three times authenticating " "to SSH will result in a new PF block rule for that host. Rule matches are " "performed by first checking local rules one after another, from most " "specific to least specific. When a match occurs, the `remote` rules are " "applied and the name, `nfail`, and disable fields are changed by the " "`remote` rule that matched." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/firewalls/_index.adoc:2583 #, no-wrap msgid "Remote Rules" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2589 msgid "" "Remote rules are used to specify how blacklistd changes its behavior " "depending on the remote host currently being evaluated. Each field in a " "remote rule is the same as in a local rule. The only difference is in the " "way blacklistd is using them. To explain it, this example rule is used:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2594 #, no-wrap msgid "" "[remote]\n" "203.0.113.128/25 * * * =/25 = 48h\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2599 msgid "" "The address field can be an IP address (either v4 or v6), a port or both. " "This allows setting special rules for a specific remote address range like " "in this example. The fields for socket type, protocol and owner are " "identically interpreted as in the local rule." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2605 msgid "" "The name fields is different though: the equal sign (`=`) in a remote rule " "tells blacklistd to use the value from the matching local rule. It means " "that the firewall rule entry is taken and the `/25` prefix (a netmask of " "`255.255.255.128`) is added. When a connection from that address range is " "blocklisted, the entire subnet is affected. A PF anchor name can also be " "used here, in which case blacklistd will add rules for this address block to " "the anchor of that name. The default table is used when a wildcard is " "specified." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2609 msgid "" "A custom number of failures in the `nfail` column can be defined for an " "address. This is useful for exceptions to a specific rule, to maybe allow " "someone a less strict application of rules or a bit more leniency in login " "tries. Blocking is disabled when an asterisk is used in this sixth field." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2611 msgid "" "Remote rules allow a stricter enforcement of limits on attempts to log in " "compared to attempts coming from a local network like an office." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:2612 #, no-wrap msgid "Blacklistd Client Configuration" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2617 msgid "" "There are a few software packages in FreeBSD that can utilize blacklistd's " "functionality. The two most prominent ones are man:ftpd[8] and man:sshd[8] " "to block excessive connection attempts. To activate blacklistd in the SSH " "daemon, add the following line to [.filename]#/etc/ssh/sshd_config#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2621 #, no-wrap msgid "UseBlacklist yes\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2624 msgid "Restart sshd afterwards to make these changes take effect." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2626 msgid "" "Blacklisting for man:ftpd[8] is enabled using `-B`, either in [.filename]#/" "etc/inetd.conf# or as a flag in [.filename]#/etc/rc.conf# like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2630 #, no-wrap msgid "ftpd_flags=\"-B\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2633 msgid "That is all that is needed to make these programs talk to blacklistd." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:2634 #, no-wrap msgid "Blacklistd Management" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2639 msgid "" "Blacklistd provides the user with a management utility called " "man:blacklistctl[8]. It displays blocked addresses and networks that are " "blocklisted by the rules defined in man:blacklistd.conf[5]. To see the list " "of currently blocked hosts, use `dump` combined with `-b` like this." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2645 #, no-wrap msgid "" "# blacklistctl dump -b\n" " address/ma:port id nfail last access\n" "213.0.123.128/25:22 OK 6/3 2019/06/08 14:30:19\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2651 msgid "" "This example shows that there were 6 out of three permitted attempts on port " "22 coming from the address range `213.0.123.128/25`. There are more " "attempts listed than are allowed because SSH allows a client to try multiple " "logins on a single TCP connection. A connection that is currently going on " "is not stopped by blacklistd. The last connection attempt is listed in the " "`last access` column of the output." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2653 msgid "" "To see the remaining time that this host will be on the blocklist, add `-r` " "to the previous command." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2659 #, no-wrap msgid "" "# blacklistctl dump -br\n" " address/ma:port id nfail remaining time\n" "213.0.123.128/25:22 OK 6/3 36s\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2662 msgid "" "In this example, there are 36s seconds left until this host will not be " "blocked any more." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/firewalls/_index.adoc:2663 #, no-wrap msgid "Removing Hosts from the Block List" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2674 msgid "" "Sometimes it is necessary to remove a host from the block list before the " "remaining time expires. Unfortunately, there is no functionality in " "blacklistd to do that. However, it is possible to remove the address from " "the PF table using pfctl. For each blocked port, there is a child anchor " "inside the blacklistd anchor defined in [.filename]#/etc/pf.conf#. For " "example, if there is a child anchor for blocking port 22 it is called " "`blacklistd/22`. There is a table inside that child anchor that contains " "the blocked addresses. This table is called port followed by the port " "number. In this example, it would be called `port22`. With that " "information at hand, it is now possible to use man:pfctl[8] to display all " "addresses listed like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2681 #, no-wrap msgid "" "# pfctl -a blacklistd/22 -t port22 -T show\n" "...\n" "213.0.123.128/25\n" "...\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2684 msgid "" "After identifying the address to be unblocked from the list, the following " "command removes it from the list:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/firewalls/_index.adoc:2688 #, no-wrap msgid "# pfctl -a blacklistd/22 -t port22 -T delete 213.0.123.128/25\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/firewalls/_index.adoc:2692 msgid "" "The address is now removed from PF, but will still show up in the " "blacklistctl list, since it does not know about any changes made in PF. The " "entry in blacklistd's database will eventually expire and be removed from " "its output. The entry will be added again if the host is matching one of " "the block rules in blacklistd again." msgstr "" diff --git a/documentation/content/en/books/handbook/glossary.po b/documentation/content/en/books/handbook/glossary.po index 200bca53f6..69cace3b7a 100644 --- a/documentation/content/en/books/handbook/glossary.po +++ b/documentation/content/en/books/handbook/glossary.po @@ -1,3011 +1,3030 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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/glossary.adoc:1 #, no-wrap msgid "FreeBSD Handbook Glossary" msgstr "" #. type: Title = #: documentation/content/en/books/handbook/glossary.adoc:1 #: documentation/content/en/books/handbook/glossary.adoc:14 #, no-wrap msgid "FreeBSD Glossary" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:50 msgid "" "This glossary contains terms and acronyms used within the FreeBSD community " "and documentation." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:52 #, no-wrap msgid "A" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:54 #, no-wrap msgid "ACL" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:56 msgid "See crossref:glossary[acl-glossary,Access Control List]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:57 #, no-wrap msgid "ACPI" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:59 msgid "" "See crossref:glossary[acpi-glossary,Advanced Configuration and Power " "Interface]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:60 #, no-wrap msgid "AMD" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:62 msgid "See crossref:glossary[amd-glossary,Automatic Mount Daemon]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:63 #, no-wrap msgid "AML" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:65 msgid "See crossref:glossary[aml-glossary,ACPI Machine Language]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:66 #, no-wrap msgid "API" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:68 msgid "See crossref:glossary[api-glossary,Application Programming Interface]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:69 #, no-wrap msgid "APIC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:71 msgid "" "See crossref:glossary[apic-glossary,Advanced Programmable Interrupt " "Controller]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:72 #, no-wrap msgid "APM" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:74 msgid "See crossref:glossary[apm-glossary,Advanced Power Management]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:75 #, no-wrap msgid "APOP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:77 msgid "" "See crossref:glossary[apop-glossary,Authenticated Post Office Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:78 #, no-wrap msgid "ASL" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:80 msgid "See crossref:glossary[asl-glossary,ACPI Source Language]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:81 #, no-wrap msgid "ATA" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:83 msgid "See crossref:glossary[ata-glossary,Advanced Technology Attachment]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:84 #, no-wrap msgid "ATM" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:86 msgid "See crossref:glossary[atm-glossary,Asynchronous Transfer Mode]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:88 #, no-wrap msgid "ACPI Machine Language" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:90 msgid "" "Pseudocode, interpreted by a virtual machine within an ACPI-compliant " "operating system, providing a layer between the underlying hardware and the " "documented interface presented to the OS." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:92 #, no-wrap msgid "ACPI Source Language" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:94 msgid "The programming language AML is written in." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:96 #, no-wrap msgid "Access Control List" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:98 msgid "" "A list of permissions attached to an object, usually either a file or a " "network device." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:100 #, no-wrap msgid "Advanced Configuration and Power Interface" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:103 msgid "" "A specification which provides an abstraction of the interface the hardware " "presents to the operating system, so that the operating system should need " "to know nothing about the underlying hardware to make the most of it. ACPI " "evolves and supersedes the functionality provided previously by APM, PNPBIOS " "and other technologies, and provides facilities for controlling power " "consumption, machine suspension, device enabling and disabling, etc." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:105 #, no-wrap msgid "Application Programming Interface" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:108 msgid "" "A set of procedures, protocols and tools that specify the canonical " "interaction of one or more program parts; how, when and why they do work " "together, and what data they share or operate on." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:110 #, no-wrap msgid "Advanced Power Management" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:113 msgid "" "An API enabling the operating system to work in conjunction with the BIOS in " "order to achieve power management. APM has been superseded by the much more " "generic and powerful ACPI specification for most applications." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:115 #, no-wrap msgid "Advanced Programmable Interrupt Controller" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:117 #: documentation/content/en/books/handbook/glossary.adoc:121 #: documentation/content/en/books/handbook/glossary.adoc:125 #: documentation/content/en/books/handbook/glossary.adoc:129 #: documentation/content/en/books/handbook/glossary.adoc:214 #: documentation/content/en/books/handbook/glossary.adoc:224 #: documentation/content/en/books/handbook/glossary.adoc:258 #: documentation/content/en/books/handbook/glossary.adoc:284 #: documentation/content/en/books/handbook/glossary.adoc:308 #: documentation/content/en/books/handbook/glossary.adoc:312 #: documentation/content/en/books/handbook/glossary.adoc:316 #: documentation/content/en/books/handbook/glossary.adoc:335 #: documentation/content/en/books/handbook/glossary.adoc:339 #: documentation/content/en/books/handbook/glossary.adoc:347 #: documentation/content/en/books/handbook/glossary.adoc:376 #: documentation/content/en/books/handbook/glossary.adoc:414 #: documentation/content/en/books/handbook/glossary.adoc:431 #: documentation/content/en/books/handbook/glossary.adoc:445 #: documentation/content/en/books/handbook/glossary.adoc:491 #: documentation/content/en/books/handbook/glossary.adoc:495 #: documentation/content/en/books/handbook/glossary.adoc:516 #: documentation/content/en/books/handbook/glossary.adoc:579 #: documentation/content/en/books/handbook/glossary.adoc:583 #: documentation/content/en/books/handbook/glossary.adoc:604 #: documentation/content/en/books/handbook/glossary.adoc:612 #: documentation/content/en/books/handbook/glossary.adoc:616 #: documentation/content/en/books/handbook/glossary.adoc:642 #: documentation/content/en/books/handbook/glossary.adoc:666 #: documentation/content/en/books/handbook/glossary.adoc:725 #: documentation/content/en/books/handbook/glossary.adoc:729 #: documentation/content/en/books/handbook/glossary.adoc:739 #: documentation/content/en/books/handbook/glossary.adoc:743 #: documentation/content/en/books/handbook/glossary.adoc:747 #: documentation/content/en/books/handbook/glossary.adoc:755 #: documentation/content/en/books/handbook/glossary.adoc:759 #: documentation/content/en/books/handbook/glossary.adoc:769 #: documentation/content/en/books/handbook/glossary.adoc:783 #: documentation/content/en/books/handbook/glossary.adoc:787 #: documentation/content/en/books/handbook/glossary.adoc:843 #: documentation/content/en/books/handbook/glossary.adoc:872 #: documentation/content/en/books/handbook/glossary.adoc:876 #: documentation/content/en/books/handbook/glossary.adoc:893 -#: documentation/content/en/books/handbook/glossary.adoc:930 -#: documentation/content/en/books/handbook/glossary.adoc:934 -#: documentation/content/en/books/handbook/glossary.adoc:942 -#: documentation/content/en/books/handbook/glossary.adoc:946 -#: documentation/content/en/books/handbook/glossary.adoc:950 -#: documentation/content/en/books/handbook/glossary.adoc:958 -#: documentation/content/en/books/handbook/glossary.adoc:962 -#: documentation/content/en/books/handbook/glossary.adoc:966 -#: documentation/content/en/books/handbook/glossary.adoc:992 -#: documentation/content/en/books/handbook/glossary.adoc:1015 +#: documentation/content/en/books/handbook/glossary.adoc:933 +#: documentation/content/en/books/handbook/glossary.adoc:937 +#: documentation/content/en/books/handbook/glossary.adoc:941 +#: documentation/content/en/books/handbook/glossary.adoc:949 +#: documentation/content/en/books/handbook/glossary.adoc:953 +#: documentation/content/en/books/handbook/glossary.adoc:957 +#: documentation/content/en/books/handbook/glossary.adoc:965 +#: documentation/content/en/books/handbook/glossary.adoc:969 +#: documentation/content/en/books/handbook/glossary.adoc:973 +#: documentation/content/en/books/handbook/glossary.adoc:999 +#: documentation/content/en/books/handbook/glossary.adoc:1022 msgid "{empty}" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:119 #, no-wrap msgid "Advanced Technology Attachment" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:123 #, no-wrap msgid "Asynchronous Transfer Mode" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:127 #, no-wrap msgid "Authenticated Post Office Protocol" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:131 #, no-wrap msgid "Automatic Mount Daemon" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:133 msgid "" "A daemon that automatically mounts a filesystem when a file or directory " "within that filesystem is accessed." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:135 #, no-wrap msgid "B" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:137 #, no-wrap msgid "BAR" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:139 msgid "See crossref:glossary[bar-glossary,Base Address Register]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:140 #, no-wrap msgid "BIND" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:142 msgid "See crossref:glossary[bind-glossary,Berkeley Internet Name Domain]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:143 #, no-wrap msgid "BIOS" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:145 msgid "See crossref:glossary[bios-glossary,Basic Input/Output System]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:146 #, no-wrap msgid "BSD" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:148 msgid "See crossref:glossary[bsd-glossary,Berkeley Software Distribution]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:150 #, no-wrap msgid "Base Address Register" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:152 msgid "" "The registers that determine which address range a PCI device will respond " "to." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:154 #, no-wrap msgid "Basic Input/Output System" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:160 msgid "" "The definition of BIOS depends a bit on the context. Some people refer to " "it as the ROM chip with a basic set of routines to provide an interface " "between software and hardware. Others refer to it as the set of routines " "contained in the chip that help in bootstrapping the system. Some might " "also refer to it as the screen used to configure the bootstrapping process. " "The BIOS is PC-specific but other systems have something similar." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:162 #, no-wrap msgid "Berkeley Internet Name Domain" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:164 msgid "An implementation of the DNS protocols." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:166 #, no-wrap msgid "Berkeley Software Distribution" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:169 msgid "" "This is the name that the Computer Systems Research Group (CSRG) at " "link:http://www.berkeley.edu[The University of California at Berkeley] gave " "to their improvements and modifications to AT&T's 32V UNIX(R). FreeBSD is a " "descendant of the CSRG work." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:171 #, no-wrap msgid "Bikeshed Building" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:174 msgid "" "A phenomenon whereby many people will give an opinion on an uncomplicated " "topic, whilst a complex topic receives little or no discussion. See the " "extref:{faq}[FAQ, bikeshed-painting] for the origin of the term." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:176 #, no-wrap msgid "C" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:178 #, no-wrap msgid "CD" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:180 msgid "See crossref:glossary[cd-glossary,Carrier Detect]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:181 #, no-wrap msgid "CHAP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:183 msgid "" "See crossref:glossary[chap-glossary,Challenge Handshake Authentication " "Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:184 #, no-wrap msgid "CLIP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:186 msgid "See crossref:glossary[clip-glossary,Classical IP over ATM]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:187 #, no-wrap msgid "COFF" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:189 msgid "See crossref:glossary[coff-glossary,Common Object File Format]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:190 #, no-wrap msgid "CPU" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:192 msgid "See crossref:glossary[cpu-glossary,Central Processing Unit]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:193 #, no-wrap msgid "CTS" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:195 msgid "See crossref:glossary[cts-glossary,Clear To Send]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:197 #, no-wrap msgid "Carrier Detect" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:199 msgid "An RS232C signal indicating that a carrier has been detected." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:201 #, no-wrap msgid "Central Processing Unit" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:206 msgid "" "Also known as the processor. This is the brain of the computer where all " "calculations take place. There are a number of different architectures with " "different instruction sets. Among the more well-known are the Intel-x86 and " "derivatives, Arm, and PowerPC." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:208 #, no-wrap msgid "Challenge Handshake Authentication Protocol" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:210 msgid "" "A method of authenticating a user, based on a secret shared between client " "and server." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:212 #, no-wrap msgid "Classical IP over ATM" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:216 #, no-wrap msgid "Clear To Send" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:218 msgid "An RS232C signal giving the remote system permission to send data." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:220 msgid "See crossref:glossary[rts-glossary,Also Request To Send]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:222 #, no-wrap msgid "Common Object File Format" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:226 #, no-wrap msgid "D" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:228 #, no-wrap msgid "DAC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:230 msgid "See crossref:glossary[dac-glossary,Discretionary Access Control]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:231 #, no-wrap msgid "DDB" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:233 msgid "See crossref:glossary[ddb-glossary,Debugger]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:234 #, no-wrap msgid "DES" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:236 msgid "See crossref:glossary[des-glossary,Data Encryption Standard]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:237 #, no-wrap msgid "DHCP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:239 msgid "" "See crossref:glossary[dhcp-glossary,Dynamic Host Configuration Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:240 #, no-wrap msgid "DNS" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:242 msgid "See crossref:glossary[dns-glossary,Domain Name System]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:243 #, no-wrap msgid "DSDT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:245 msgid "" "See crossref:glossary[dsdt-glossary,Differentiated System Description Table]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:246 #, no-wrap msgid "DSR" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:248 msgid "See crossref:glossary[dsr-glossary,Data Set Ready]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:249 #, no-wrap msgid "DTR" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:251 msgid "See crossref:glossary[dtr-glossary,Data Terminal Ready]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:252 #, no-wrap msgid "DVMRP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:254 msgid "" "See crossref:glossary[dvmrp-glossary,Distance-Vector Multicast Routing " "Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:256 #, no-wrap msgid "Discretionary Access Control" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:260 #, no-wrap msgid "Data Encryption Standard" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:262 msgid "" "A method of encrypting information, traditionally used as the method of " "encryption for UNIX(R) passwords and the man:crypt[3] function." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:264 #, no-wrap msgid "Data Set Ready" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:266 msgid "" "An RS232C signal sent from the modem to the computer or terminal indicating " "a readiness to send and receive data." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:268 msgid "See crossref:glossary[dtr-glossary,Also Data Terminal Ready]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:270 #, no-wrap msgid "Data Terminal Ready" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:272 msgid "" "An RS232C signal sent from the computer or terminal to the modem indicating " "a readiness to send and receive data." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:274 #, no-wrap msgid "Debugger" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:276 msgid "" "An interactive in-kernel facility for examining the status of a system, " "often used after a system has crashed to establish the events surrounding " "the failure." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:278 #, no-wrap msgid "Differentiated System Description Table" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:280 msgid "" "An ACPI table, supplying basic configuration information about the base " "system." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:282 #, no-wrap msgid "Distance-Vector Multicast Routing Protocol" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:286 #, no-wrap msgid "Domain Name System" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:288 msgid "" "The system that converts humanly readable hostnames (i.e., mail.example.net) " "to Internet addresses and vice versa." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:290 #, no-wrap msgid "Dynamic Host Configuration Protocol" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:293 msgid "" "A protocol that dynamically assigns IP addresses to a computer (host) when " "it requests one from the server. The address assignment is called a “lease”." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:295 #, no-wrap msgid "E" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:297 #, no-wrap msgid "ECOFF" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:299 msgid "See crossref:glossary[ecoff-glossary,Extended COFF]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:300 #, no-wrap msgid "ELF" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:302 msgid "See crossref:glossary[elf-glossary,Executable and Linking Format]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:303 #, no-wrap msgid "ESP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:305 msgid "See crossref:glossary[esp-glossary,Encapsulated Security Payload]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:306 #, no-wrap msgid "Encapsulated Security Payload" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:310 #, no-wrap msgid "Executable and Linking Format" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:314 #, no-wrap msgid "Extended COFF" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:318 #, no-wrap msgid "F" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:320 #, no-wrap msgid "FADT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:322 msgid "See crossref:glossary[fadt-glossary,Fixed ACPI Description Table]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:323 #, no-wrap msgid "FAT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:325 msgid "See crossref:glossary[fat-glossary,File Allocation Table]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:326 #, no-wrap msgid "FAT16" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:328 msgid "See crossref:glossary[fat16-glossary,File Allocation Table (16-bit)]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:329 #, no-wrap msgid "FTP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:331 msgid "See crossref:glossary[ftp-glossary,File Transfer Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:333 #, no-wrap msgid "File Allocation Table" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:337 #, no-wrap msgid "File Allocation Table (16-bit)" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:341 #, no-wrap msgid "File Transfer Protocol" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:343 msgid "" "A member of the family of high-level protocols implemented on top of TCP " "which can be used to transfer files over a TCP/IP network." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:345 #, no-wrap msgid "Fixed ACPI Description Table" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:349 #, no-wrap msgid "G" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:351 #, no-wrap msgid "GUI" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:353 msgid "See crossref:glossary[gui-glossary,Graphical User Interface]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:355 #, no-wrap msgid "Giant" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:359 msgid "" "The name of a mutual exclusion mechanism (a sleep `mutex`) that protects a " "large set of kernel resources. Although a simple locking mechanism was " "adequate in the days where a machine might have only a few dozen processes, " "one networking card, and certainly only one processor, in current times it " "is an unacceptable performance bottleneck. FreeBSD developers are actively " "working to replace it with locks that protect individual resources, which " "will allow a much greater degree of parallelism for both single-processor " "and multi-processor machines." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:361 #, no-wrap msgid "Graphical User Interface" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:363 msgid "A system where the user and computer interact with graphics." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:365 #, no-wrap msgid "H" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:367 #, no-wrap msgid "HTML" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:369 msgid "See crossref:glossary[html-glossary,HyperText Markup Language]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:370 #, no-wrap msgid "HUP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:372 msgid "See crossref:glossary[hup-glossary,HangUp]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:374 #, no-wrap msgid "HangUp" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:378 #, no-wrap msgid "HyperText Markup Language" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:380 msgid "The markup language used to create web pages." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:382 #, no-wrap msgid "I" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:384 #, no-wrap msgid "I/O" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:386 msgid "See crossref:glossary[io-glossary,Input/Output]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:387 #, no-wrap msgid "IASL" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:389 msgid "See crossref:glossary[iasl-glossary,Intel’s ASL compiler]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:390 #, no-wrap msgid "IMAP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:392 msgid "See crossref:glossary[imap-glossary,Internet Message Access Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:393 #, no-wrap msgid "IP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:395 msgid "See crossref:glossary[ip-glossary,Internet Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:396 #, no-wrap msgid "IPFW" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:398 msgid "See crossref:glossary[ipfw-glossary,IP Firewall]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:399 #, no-wrap msgid "IPP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:401 msgid "See crossref:glossary[ipp-glossary,Internet Printing Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:402 #, no-wrap msgid "IPv4" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:404 msgid "See crossref:glossary[ipv4-glossary,IP Version 4]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:405 #, no-wrap msgid "IPv6" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:407 msgid "See crossref:glossary[ipv6-glossary,IP Version 6]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:408 #, no-wrap msgid "ISP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:410 msgid "See crossref:glossary[isp-glossary,Internet Service Provider]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:412 #, no-wrap msgid "IP Firewall" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:416 #, no-wrap msgid "IP Version 4" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:419 msgid "" "The IP protocol version 4, which uses 32 bits for addressing. This version " "is still the most widely used, but it is slowly being replaced with IPv6." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:421 msgid "See crossref:glossary[ipv6-glossary,Also IP Version 6]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:423 #, no-wrap msgid "IP Version 6" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:427 msgid "" "The new IP protocol. Invented because the address space in IPv4 is running " "out. Uses 128 bits for addressing." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:429 #, no-wrap msgid "Input/Output" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:433 #, no-wrap msgid "Intel’s ASL compiler" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:435 msgid "Intel’s compiler for converting ASL into AML." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:437 #, no-wrap msgid "Internet Message Access Protocol" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:439 msgid "" "A protocol for accessing email messages on a mail server, characterised by " "the messages usually being kept on the server as opposed to being downloaded " "to the mail reader client." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:441 #: documentation/content/en/books/handbook/glossary.adoc:773 msgid "See Also Post Office Protocol Version 3." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:443 #, no-wrap msgid "Internet Printing Protocol" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:447 #, no-wrap msgid "Internet Protocol" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:452 msgid "" "The packet transmitting protocol that is the basic protocol on the " "Internet. Originally developed at the U.S. Department of Defense and an " "extremely important part of the TCP/IP stack. Without the Internet " "Protocol, the Internet would not have become what it is today. For more " "information, see link:ftp://ftp.rfc-editor.org/in-notes/rfc791.txt[RFC 791]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:454 #, no-wrap msgid "Internet Service Provider" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:456 msgid "A company that provides access to the Internet." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:458 #, no-wrap msgid "K" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:461 #, no-wrap msgid "KAME" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:463 msgid "" "Japanese for “turtle”, the term KAME is used in computing circles to refer " "to the link:http://www.kame.net/[KAME Project], who work on an " "implementation of IPv6." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:464 #, no-wrap msgid "KDC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:466 msgid "See crossref:glossary[kdc-glossary,Key Distribution Center]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:467 #, no-wrap msgid "KLD" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:469 msgid "See crossref:glossary[kld-glossary,Kernel ld(1)]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:470 #, no-wrap msgid "KSE" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:472 msgid "See crossref:glossary[kse-glossary,Kernel Scheduler Entities]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:473 #, no-wrap msgid "KVA" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:475 msgid "See crossref:glossary[kva-glossary,Kernel Virtual Address]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:476 #, no-wrap msgid "Kbps" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:478 msgid "See crossref:glossary[kbps-glossary,Kilo Bits Per Second]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:480 #, no-wrap msgid "Kernel man:ld[1]" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:482 msgid "" "A method of dynamically loading functionality into a FreeBSD kernel without " "rebooting the system." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:484 #, no-wrap msgid "Kernel Scheduler Entities" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:487 msgid "" "A kernel-supported threading system. See the link:http://www.freebsd.org/" "kse[project home page] for further details." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:489 #, no-wrap msgid "Kernel Virtual Address" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:493 #, no-wrap msgid "Key Distribution Center" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:497 #, no-wrap msgid "Kilo Bits Per Second" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:500 msgid "" "Used to measure bandwidth (how much data can pass a given point at a " "specified amount of time). Alternates to the Kilo prefix include Mega, " "Giga, Tera, and so forth." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:502 #, no-wrap msgid "L" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:504 #, no-wrap msgid "LAN" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:506 msgid "See crossref:glossary[lan-glossary,Local Area Network]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:507 #, no-wrap msgid "LOR" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:509 msgid "See crossref:glossary[lor-glossary,Lock Order Reversal]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:510 #, no-wrap msgid "LPD" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:512 msgid "See crossref:glossary[lpd-glossary,Line Printer Daemon]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:514 #, no-wrap msgid "Line Printer Daemon" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:518 #, no-wrap msgid "Local Area Network" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:520 msgid "A network used on a local area, e.g. office, home, or so forth." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:522 #, no-wrap msgid "Lock Order Reversal" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:527 msgid "" "The FreeBSD kernel uses a number of resource locks to arbitrate contention " "for those resources. A run-time lock diagnostic system found in FreeBSD-" "CURRENT kernels (but removed for releases), called man:witness[4], detects " "the potential for deadlocks due to locking errors. (man:witness[4] is " "actually slightly conservative, so it is possible to get false positives.) " "A true positive report indicates that “if you were unlucky, a deadlock would " "have happened here”." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:529 msgid "" "True positive LORs tend to get fixed quickly, so check https://" "lists.FreeBSD.org/subscription/freebsd-current and the link:http://" "sources.zabbadoz.net/freebsd/lor.html[LORs Seen] page before posting to the " "mailing lists." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:531 #, no-wrap msgid "M" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:533 #, no-wrap msgid "MAC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:535 msgid "See crossref:glossary[mac-glossary,Mandatory Access Control]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:536 #, no-wrap msgid "MADT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:538 msgid "See crossref:glossary[madt-glossary,Multiple APIC Description Table]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:539 #, no-wrap msgid "MFC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:541 msgid "See crossref:glossary[mfc-glossary,Merge From Current]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:542 #, no-wrap msgid "MFH" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:544 msgid "See crossref:glossary[mfh-glossary,Merge From Head]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:545 #, no-wrap msgid "MFS" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:547 msgid "See crossref:glossary[mfs-glossary,Merge From Stable]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:548 #, no-wrap msgid "MFV" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:550 msgid "See crossref:glossary[mfv-glossary,Merge From Vendor]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:551 #, no-wrap msgid "MIT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:553 msgid "" "See crossref:glossary[mit-glossary,Massachusetts Institute of Technology]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:554 #, no-wrap msgid "MLS" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:556 msgid "See crossref:glossary[mls-glossary,Multi-Level Security]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:557 #, no-wrap msgid "MOTD" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:559 msgid "See crossref:glossary[motd-glossary,Message Of The Day]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:560 #, no-wrap msgid "MTA" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:562 msgid "See crossref:glossary[mta-glossary,Mail Transfer Agent]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:563 #, no-wrap msgid "MUA" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:565 msgid "See crossref:glossary[mua-glossary,Mail User Agent]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:567 #, no-wrap msgid "Mail Transfer Agent" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:571 msgid "" "An application used to transfer email. An MTA has traditionally been part " "of the BSD base system. Today Sendmail is included in the base system, but " "there are many other MTAs, such as postfix, qmail and Exim." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:573 #, no-wrap msgid "Mail User Agent" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:575 msgid "An application used by users to display and write email." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:577 #, no-wrap msgid "Mandatory Access Control" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:581 #, no-wrap msgid "Massachusetts Institute of Technology" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:585 #, no-wrap msgid "Merge From Current" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:587 msgid "" "To merge functionality or a patch from the -CURRENT branch to another, most " "often -STABLE." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:589 #, no-wrap msgid "Merge From Head" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:591 msgid "" "To merge functionality or a patch from a repository HEAD to an earlier " "branch." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:593 #, no-wrap msgid "Merge From Stable" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:596 msgid "" "In the normal course of FreeBSD development, a change will be committed to " "the -CURRENT branch for testing before being merged to -STABLE. On rare " "occasions, a change will go into -STABLE first and then be merged to " "-CURRENT." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:598 msgid "" "This term is also used when a patch is merged from -STABLE to a security " "branch." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:600 msgid "See crossref:glossary[mfc-glossary,Also Merge From Current]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:602 #, no-wrap msgid "Merge From Vendor" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:606 #, no-wrap msgid "Message Of The Day" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:608 msgid "" "A message, usually shown on login, often used to distribute information to " "users of the system." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:610 #, no-wrap msgid "Multi-Level Security" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:614 #, no-wrap msgid "Multiple APIC Description Table" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:618 #, no-wrap msgid "N" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:620 #, no-wrap msgid "NAT" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:622 msgid "See crossref:glossary[nat-glossary,Network Address Translation]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:623 #, no-wrap msgid "NDISulator" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:625 msgid "See crossref:glossary[projectevil-glossary,Project Evil]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:626 #, no-wrap msgid "NFS" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:628 msgid "See crossref:glossary[nfs-glossary,Network File System]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:629 #, no-wrap msgid "NTFS" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:631 msgid "See crossref:glossary[ntfs-glossary,New Technology File System]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:632 #, no-wrap msgid "NTP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:634 msgid "See crossref:glossary[ntp-glossary,Network Time Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:636 #, no-wrap msgid "Network Address Translation" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:638 msgid "" "A technique where IP packets are rewritten on the way through a gateway, " "enabling many machines behind the gateway to effectively share a single IP " "address." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:640 #, no-wrap msgid "Network File System" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:644 #, no-wrap msgid "New Technology File System" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:646 msgid "" "A filesystem developed by Microsoft and available in its “New Technology” " "operating systems, such as Windows(R) 2000, Windows NT(R) and Windows(R) XP." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:648 #, no-wrap msgid "Network Time Protocol" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:650 msgid "A means of synchronizing clocks over a network." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:652 #, no-wrap msgid "O" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:654 #, no-wrap msgid "OBE" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:656 msgid "See crossref:glossary[obe-glossary,Overtaken By Events]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:657 #, no-wrap msgid "ODMR" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:659 msgid "See crossref:glossary[odmr-glossary,On-Demand Mail Relay]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:660 #, no-wrap msgid "OS" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:662 msgid "See crossref:glossary[os-glossary,Operating System]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:664 #, no-wrap msgid "On-Demand Mail Relay" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:668 #, no-wrap msgid "Operating System" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:671 msgid "" "A set of programs, libraries and tools that provide access to the hardware " "resources of a computer. Operating systems range today from simplistic " "designs that support only one program running at a time, accessing only one " "device to fully multi-user, multi-tasking and multi-process systems that can " "serve thousands of users simultaneously, each of them running dozens of " "different applications." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:673 #, no-wrap msgid "Overtaken By Events" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:675 msgid "" "Indicates a suggested change (such as a Problem Report or a feature request) " "which is no longer relevant or applicable due to such things as later " "changes to FreeBSD, changes in networking standards, the affected hardware " "having since become obsolete, and so forth." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:677 #, no-wrap msgid "P" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:679 #, no-wrap msgid "PAE" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:681 msgid "See crossref:glossary[pae-glossary,Physical Address Extensions]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:682 #, no-wrap msgid "PAM" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:684 msgid "See crossref:glossary[pam-glossary,Pluggable Authentication Modules]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:685 #, no-wrap msgid "PAP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:687 msgid "See crossref:glossary[pap-glossary,Password Authentication Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:688 #, no-wrap msgid "PC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:690 msgid "See crossref:glossary[pc-glossary,Personal Computer]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:691 #, no-wrap msgid "PCNSFD" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:694 msgid "" "See crossref:glossary[pcnfsd-glossary,Personal Computer Network File System " "Daemon]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:695 #, no-wrap msgid "PDF" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:697 msgid "See crossref:glossary[pdf-glossary,Portable Document Format]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:698 #, no-wrap msgid "PID" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:700 msgid "See crossref:glossary[pid-glossary,Process ID]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:701 #, no-wrap msgid "POLA" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:703 msgid "See crossref:glossary[pola-glossary,Principle Of Least Astonishment]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:704 #, no-wrap msgid "POP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:706 msgid "See crossref:glossary[pop-glossary,Post Office Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:707 #, no-wrap msgid "POP3" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:709 msgid "See crossref:glossary[pop3-glossary,Post Office Protocol Version 3]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:710 #, no-wrap msgid "PPD" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:712 msgid "See crossref:glossary[ppd-glossary,PostScript Printer Description]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:713 #, no-wrap msgid "PPP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:715 msgid "See crossref:glossary[ppp-glossary,Point-to-Point Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:716 #, no-wrap msgid "PPPoA" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:718 msgid "See crossref:glossary[pppoa-glossary,PPP over ATM]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:719 #, no-wrap msgid "PPPoE" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:721 msgid "See crossref:glossary[pppoe-glossary,PPP over Ethernet]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:723 #, no-wrap msgid "PPP over ATM" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:727 #, no-wrap msgid "PPP over Ethernet" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:730 #, no-wrap msgid "PR" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:732 msgid "See crossref:glossary[pr-glossary,Problem Report]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:733 #, no-wrap msgid "PXE" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:735 msgid "See crossref:glossary[pxe-glossary,Preboot eXecution Environment]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:737 #, no-wrap msgid "Password Authentication Protocol" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:741 #, no-wrap msgid "Personal Computer" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:745 #, no-wrap msgid "Personal Computer Network File System Daemon" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:749 #, no-wrap msgid "Physical Address Extensions" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:751 msgid "" "A method of enabling access to up to 64 GB of RAM on systems which only " "physically have a 32-bit wide address space (and would therefore be limited " "to 4 GB without PAE)." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:753 #, no-wrap msgid "Pluggable Authentication Modules" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:757 #, no-wrap msgid "Point-to-Point Protocol" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:761 #, no-wrap msgid "Pointy Hat" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:765 msgid "" "A mythical piece of headgear, much like a dunce cap, awarded to any FreeBSD " "committer who breaks the build, makes revision numbers go backwards, or " "creates any other kind of havoc in the source base. Any committer worth his " "or her salt will soon accumulate a large collection. The usage is (almost " "always?) humorous." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:767 #, no-wrap msgid "Portable Document Format" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:771 #, no-wrap msgid "Post Office Protocol" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:775 #, no-wrap msgid "Post Office Protocol Version 3" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:777 msgid "" "A protocol for accessing email messages on a mail server, characterised by " "the messages usually being downloaded from the server to the client, as " "opposed to remaining on the server." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:779 msgid "" "See crossref:glossary[imap-glossary,Also Internet Message Access Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:781 #, no-wrap msgid "PostScript Printer Description" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:785 #, no-wrap msgid "Preboot eXecution Environment" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:789 #, no-wrap msgid "Principle Of Least Astonishment" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:793 msgid "" "As FreeBSD evolves, changes visible to the user should be kept as " "unsurprising as possible. For example, arbitrarily rearranging system " "startup variables in [.filename]#/etc/defaults/rc.conf# violates POLA. " "Developers consider POLA when contemplating user-visible system changes." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:795 #, no-wrap msgid "Problem Report" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:798 msgid "" "A description of some kind of problem that has been found in either the " "FreeBSD source or documentation. See extref:{problem-reports}[Writing " "FreeBSD Problem Reports]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:800 #, no-wrap msgid "Process ID" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:802 msgid "" "A number, unique to a particular process on a system, which identifies it " "and allows actions to be taken against it." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:804 #, no-wrap msgid "Project Evil" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:809 msgid "" "The working title for the NDISulator, written by Bill Paul, who named it " "referring to how awful it is (from a philosophical standpoint) to need to " "have something like this in the first place. The NDISulator is a special " "compatibility module to allow Microsoft Windows(TM) NDIS miniport network " "drivers to be used with FreeBSD/i386. This is usually the only way to use " "cards where the driver is closed-source. See [.filename]#src/sys/compat/" "ndis/subr_ndis.c#." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:811 #, no-wrap msgid "R" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:813 #, no-wrap msgid "RA" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:815 msgid "See crossref:glossary[ra-glossary,Router Advertisement]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:816 #, no-wrap msgid "RAID" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:818 msgid "" "See crossref:glossary[raid-glossary,Redundant Array of Inexpensive Disks]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:819 #, no-wrap msgid "RAM" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:821 msgid "See crossref:glossary[ram-glossary,Random Access Memory]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:822 #, no-wrap msgid "RD" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:824 msgid "See crossref:glossary[rd-glossary,Received Data]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:825 #, no-wrap msgid "RFC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:827 msgid "See crossref:glossary[rfc-glossary,Request For Comments]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:828 #, no-wrap msgid "RISC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:830 msgid "See crossref:glossary[risc-glossary,Reduced Instruction Set Computer]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:831 #, no-wrap msgid "RPC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:833 msgid "See crossref:glossary[rpc-glossary,Remote Procedure Call]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:834 #, no-wrap msgid "RS232C" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:836 msgid "See crossref:glossary[rs232c-glossary,Recommended Standard 232C]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:837 #, no-wrap msgid "RTS" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:839 msgid "See crossref:glossary[rts-glossary,Request To Send]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:841 #, no-wrap msgid "Random Access Memory" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:845 #, no-wrap msgid "Revision Control System" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:850 msgid "" "The _Revision Control System (RCS)_ is one of the oldest software suites " "that implement “revision control” for plain files. It allows the storage, " "retrieval, archival, logging, identification and merging of multiple " "revisions for each file. RCS consists of many small tools that work " "together. It lacks some of the features found in more modern revision " "control systems, like Git, but it is very simple to install, configure, and " "start using for a small set of files." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:852 msgid "See crossref:glossary[svn-glossary,Also Subversion]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:854 #, no-wrap msgid "Received Data" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:856 msgid "An RS232C pin or wire that data is received on." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:858 msgid "See crossref:glossary[td-glossary,Also Transmitted Data]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:860 #, no-wrap msgid "Recommended Standard 232C" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:862 msgid "A standard for communications between serial devices." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:864 #, no-wrap msgid "Reduced Instruction Set Computer" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:868 msgid "" "An approach to processor design where the operations the hardware can " "perform are simplified but made as general purpose as possible. This can " "lead to lower power consumption, fewer transistors and in some cases, better " "performance and increased code density. Examples of RISC processors include " "the Alpha, SPARC(R), ARM(R) and PowerPC(R)." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:870 #, no-wrap msgid "Redundant Array of Inexpensive Disks" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:874 #, no-wrap msgid "Remote Procedure Call" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:878 #, no-wrap msgid "Request For Comments" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:881 msgid "" "A set of documents defining Internet standards, protocols, and so forth. " "See www.rfc-editor.org." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:883 msgid "" "Also used as a general term when someone has a suggested change and wants " "feedback." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:885 #, no-wrap msgid "Request To Send" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:887 msgid "" "An RS232C signal requesting that the remote system commences transmission of " "data." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:889 msgid "See crossref:glossary[cts-glossary,Also Clear To Send]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:891 #, no-wrap msgid "Router Advertisement" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/glossary.adoc:895 #, no-wrap msgid "S" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:897 #, no-wrap msgid "SCI" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:899 msgid "See crossref:glossary[sci-glossary,System Control Interrupt]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:900 #, no-wrap msgid "SCSI" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:902 msgid "See crossref:glossary[scsi-glossary,Small Computer System Interface]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:903 #, no-wrap msgid "SG" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:905 msgid "See crossref:glossary[sg-glossary,Signal Ground]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:906 #, no-wrap -msgid "SMB" +msgid "SLAAC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:908 -msgid "See crossref:glossary[smb-glossary,Server Message Block]." +msgid "" +"See crossref:glossary[slaac-glossary,StateLess Address AutoConfiguration]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:909 #, no-wrap -msgid "SMP" +msgid "SMB" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:911 -msgid "See crossref:glossary[smp-glossary,Symmetric MultiProcessor]." +msgid "See crossref:glossary[smb-glossary,Server Message Block]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:912 #, no-wrap -msgid "SMTP" +msgid "SMP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:914 -msgid "See crossref:glossary[smtp-glossary,Simple Mail Transfer Protocol]." +msgid "See crossref:glossary[smp-glossary,Symmetric MultiProcessor]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:915 #, no-wrap -msgid "SMTP AUTH" +msgid "SMTP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:917 -msgid "See crossref:glossary[smtpauth-glossary,SMTP Authentication]." +msgid "See crossref:glossary[smtp-glossary,Simple Mail Transfer Protocol]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:918 #, no-wrap -msgid "SSH" +msgid "SMTP AUTH" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:920 -msgid "See crossref:glossary[ssh-glossary,Secure Shell]." +msgid "See crossref:glossary[smtpauth-glossary,SMTP Authentication]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:921 #, no-wrap -msgid "STR" +msgid "SSH" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:923 -msgid "See crossref:glossary[str-glossary,Suspend To RAM]." +msgid "See crossref:glossary[ssh-glossary,Secure Shell]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/glossary.adoc:924 #, no-wrap -msgid "SVN" +msgid "STR" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/glossary.adoc:926 +msgid "See crossref:glossary[str-glossary,Suspend To RAM]." +msgstr "" + +#. type: Labeled list +#: documentation/content/en/books/handbook/glossary.adoc:927 +#, no-wrap +msgid "SVN" +msgstr "" + +#. type: Plain text +#: documentation/content/en/books/handbook/glossary.adoc:929 msgid "See crossref:glossary[svn-glossary,Subversion]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:928 +#: documentation/content/en/books/handbook/glossary.adoc:931 +#, no-wrap +msgid "StateLess Address AutoConfiguration" +msgstr "" + +#. type: Labeled list +#: documentation/content/en/books/handbook/glossary.adoc:935 #, no-wrap msgid "SMTP Authentication" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:932 +#: documentation/content/en/books/handbook/glossary.adoc:939 #, no-wrap msgid "Server Message Block" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:936 +#: documentation/content/en/books/handbook/glossary.adoc:943 #, no-wrap msgid "Signal Ground" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:938 +#: documentation/content/en/books/handbook/glossary.adoc:945 msgid "An RS232 pin or wire that is the ground reference for the signal." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:940 +#: documentation/content/en/books/handbook/glossary.adoc:947 #, no-wrap msgid "Simple Mail Transfer Protocol" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:944 +#: documentation/content/en/books/handbook/glossary.adoc:951 #, no-wrap msgid "Secure Shell" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:948 +#: documentation/content/en/books/handbook/glossary.adoc:955 #, no-wrap msgid "Small Computer System Interface" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:952 +#: documentation/content/en/books/handbook/glossary.adoc:959 #, no-wrap msgid "Subversion" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:954 +#: documentation/content/en/books/handbook/glossary.adoc:961 msgid "" "Subversion is a version control system currently used by the FreeBSD project." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:956 +#: documentation/content/en/books/handbook/glossary.adoc:963 #, no-wrap msgid "Suspend To RAM" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:960 +#: documentation/content/en/books/handbook/glossary.adoc:967 #, no-wrap msgid "Symmetric MultiProcessor" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:964 +#: documentation/content/en/books/handbook/glossary.adoc:971 #, no-wrap msgid "System Control Interrupt" msgstr "" #. type: Title == -#: documentation/content/en/books/handbook/glossary.adoc:968 +#: documentation/content/en/books/handbook/glossary.adoc:975 #, no-wrap msgid "T" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:970 +#: documentation/content/en/books/handbook/glossary.adoc:977 #, no-wrap msgid "TCP" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:972 +#: documentation/content/en/books/handbook/glossary.adoc:979 msgid "See crossref:glossary[tcp-glossary,Transmission Control Protocol]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:973 +#: documentation/content/en/books/handbook/glossary.adoc:980 #, no-wrap msgid "TCP/IP" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:976 +#: documentation/content/en/books/handbook/glossary.adoc:983 msgid "" "See crossref:glossary[tcpip-glossary,Transmission Control Protocol/Internet " "Protocol]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:977 +#: documentation/content/en/books/handbook/glossary.adoc:984 #, no-wrap msgid "TD" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:979 +#: documentation/content/en/books/handbook/glossary.adoc:986 msgid "See crossref:glossary[td-glossary,Transmitted Data]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:980 +#: documentation/content/en/books/handbook/glossary.adoc:987 #, no-wrap msgid "TFTP" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:982 +#: documentation/content/en/books/handbook/glossary.adoc:989 msgid "See crossref:glossary[tftp-glossary,Trivial FTP]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:983 +#: documentation/content/en/books/handbook/glossary.adoc:990 #, no-wrap msgid "TGT" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:985 +#: documentation/content/en/books/handbook/glossary.adoc:992 msgid "See crossref:glossary[tgt-glossary,Ticket-Granting Ticket]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:986 +#: documentation/content/en/books/handbook/glossary.adoc:993 #, no-wrap msgid "TSC" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:988 +#: documentation/content/en/books/handbook/glossary.adoc:995 msgid "See crossref:glossary[tsc-glossary,Time Stamp Counter]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:990 +#: documentation/content/en/books/handbook/glossary.adoc:997 #, no-wrap msgid "Ticket-Granting Ticket" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:994 +#: documentation/content/en/books/handbook/glossary.adoc:1001 #, no-wrap msgid "Time Stamp Counter" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:996 +#: documentation/content/en/books/handbook/glossary.adoc:1003 msgid "" "A profiling counter internal to modern Pentium(R) processors that counts " "core frequency clock ticks." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:998 +#: documentation/content/en/books/handbook/glossary.adoc:1005 #, no-wrap msgid "Transmission Control Protocol" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1000 +#: documentation/content/en/books/handbook/glossary.adoc:1007 msgid "" "A protocol that sits on top of (e.g.) the IP protocol and guarantees that " "packets are delivered in a reliable, ordered, fashion." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1002 +#: documentation/content/en/books/handbook/glossary.adoc:1009 #, no-wrap msgid "Transmission Control Protocol/Internet Protocol" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1005 +#: documentation/content/en/books/handbook/glossary.adoc:1012 msgid "" "The term for the combination of the TCP protocol running over the IP " "protocol. Much of the Internet runs over TCP/IP." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1007 +#: documentation/content/en/books/handbook/glossary.adoc:1014 #, no-wrap msgid "Transmitted Data" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1009 +#: documentation/content/en/books/handbook/glossary.adoc:1016 msgid "An RS232C pin or wire that data is transmitted on." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1011 +#: documentation/content/en/books/handbook/glossary.adoc:1018 msgid "See crossref:glossary[rd-glossary,Also Received Data]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1013 +#: documentation/content/en/books/handbook/glossary.adoc:1020 #, no-wrap msgid "Trivial FTP" msgstr "" #. type: Title == -#: documentation/content/en/books/handbook/glossary.adoc:1017 +#: documentation/content/en/books/handbook/glossary.adoc:1024 #, no-wrap msgid "U" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1019 +#: documentation/content/en/books/handbook/glossary.adoc:1026 #, no-wrap msgid "UDP" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1021 +#: documentation/content/en/books/handbook/glossary.adoc:1028 msgid "See crossref:glossary[udp-glossary,User Datagram Protocol]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1022 +#: documentation/content/en/books/handbook/glossary.adoc:1029 #, no-wrap msgid "UFS1" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1024 +#: documentation/content/en/books/handbook/glossary.adoc:1031 msgid "See crossref:glossary[ufs1-glossary,Unix File System Version 1]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1025 +#: documentation/content/en/books/handbook/glossary.adoc:1032 #, no-wrap msgid "UFS2" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1027 +#: documentation/content/en/books/handbook/glossary.adoc:1034 msgid "See crossref:glossary[ufs2-glossary,Unix File System Version 2]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1028 +#: documentation/content/en/books/handbook/glossary.adoc:1035 #, no-wrap msgid "UID" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1030 +#: documentation/content/en/books/handbook/glossary.adoc:1037 msgid "See crossref:glossary[uid-glossary,User ID]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1031 +#: documentation/content/en/books/handbook/glossary.adoc:1038 #, no-wrap msgid "URL" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1033 +#: documentation/content/en/books/handbook/glossary.adoc:1040 msgid "See crossref:glossary[url-glossary,Uniform Resource Locator]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1034 +#: documentation/content/en/books/handbook/glossary.adoc:1041 #, no-wrap msgid "USB" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1036 +#: documentation/content/en/books/handbook/glossary.adoc:1043 msgid "See crossref:glossary[usb-glossary,Universal Serial Bus]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1038 +#: documentation/content/en/books/handbook/glossary.adoc:1045 #, no-wrap msgid "Uniform Resource Locator" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1040 +#: documentation/content/en/books/handbook/glossary.adoc:1047 msgid "" "A method of locating a resource, such as a document on the Internet and a " "means to identify that resource." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1042 +#: documentation/content/en/books/handbook/glossary.adoc:1049 #, no-wrap msgid "Unix File System Version 1" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1044 +#: documentation/content/en/books/handbook/glossary.adoc:1051 msgid "" "The original UNIX(R) file system, sometimes called the Berkeley Fast File " "System." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1046 +#: documentation/content/en/books/handbook/glossary.adoc:1053 #, no-wrap msgid "Unix File System Version 2" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1049 +#: documentation/content/en/books/handbook/glossary.adoc:1056 msgid "" "An extension to UFS1, introduced in FreeBSD 5-CURRENT. UFS2 adds 64 bit " "block pointers (breaking the 1T barrier), support for extended file storage " "and other features." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1051 +#: documentation/content/en/books/handbook/glossary.adoc:1058 #, no-wrap msgid "Universal Serial Bus" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1053 +#: documentation/content/en/books/handbook/glossary.adoc:1060 msgid "" "A hardware standard used to connect a wide variety of computer peripherals " "to a universal interface." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1055 +#: documentation/content/en/books/handbook/glossary.adoc:1062 #, no-wrap msgid "User ID" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1057 +#: documentation/content/en/books/handbook/glossary.adoc:1064 msgid "" "A unique number assigned to each user of a computer, by which the resources " "and permissions assigned to that user can be identified." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1059 +#: documentation/content/en/books/handbook/glossary.adoc:1066 #, no-wrap msgid "User Datagram Protocol" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1062 +#: documentation/content/en/books/handbook/glossary.adoc:1069 msgid "" "A simple, unreliable datagram protocol which is used for exchanging data on " "a TCP/IP network. UDP does not provide error checking and correction like " "TCP." msgstr "" #. type: Title == -#: documentation/content/en/books/handbook/glossary.adoc:1064 +#: documentation/content/en/books/handbook/glossary.adoc:1071 #, no-wrap msgid "V" msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1066 +#: documentation/content/en/books/handbook/glossary.adoc:1073 #, no-wrap msgid "VPN" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1068 +#: documentation/content/en/books/handbook/glossary.adoc:1075 msgid "See crossref:glossary[vpn-glossary,Virtual Private Network]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/glossary.adoc:1070 +#: documentation/content/en/books/handbook/glossary.adoc:1077 #, no-wrap msgid "Virtual Private Network" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/glossary.adoc:1071 +#: documentation/content/en/books/handbook/glossary.adoc:1078 msgid "" "A method of using a public telecommunication such as the Internet, to " "provide remote access to a localized network, such as a corporate LAN." msgstr "" diff --git a/documentation/content/en/books/handbook/introduction.po b/documentation/content/en/books/handbook/introduction.po index 1e82cfaf7e..ea0039a0c4 100644 --- a/documentation/content/en/books/handbook/introduction.po +++ b/documentation/content/en/books/handbook/introduction.po @@ -1,45 +1,45 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: Plain text #: documentation/content/en/books/handbook/introduction.adoc:3 msgid "Abstract" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/introduction.adoc:8 msgid "" "Welcome to FreeBSD! This handbook covers the installation and day to day use " -"of _FreeBSD {rel142-current}-RELEASE_ and _{rel135-current}-RELEASE_. This " +"of _FreeBSD {rel143-current}-RELEASE_ and _{rel135-current}-RELEASE_. This " "book is the result of ongoing work by many individuals. Some sections might " "be outdated. Those interested in helping to update and expand this document " "should send email to the {freebsd-doc}." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/introduction.adoc:12 msgid "" "The latest version of this book is available from the https://" "www.FreeBSD.org/[FreeBSD web site]. Previous versions can be obtained from " "https://docs.FreeBSD.org/doc/[https://docs.FreeBSD.org/doc/]. The book can " "be downloaded in a variety of formats and compression options from the " "https://download.freebsd.org/doc/[FreeBSD download server] or one of the " "numerous link:./mirrors#mirrors[mirror sites]. Searches can be performed on " "the handbook and other documents on the link:https://www.FreeBSD.org/search/" "[search page]." msgstr "" diff --git a/documentation/content/en/books/handbook/network-servers/_index.po b/documentation/content/en/books/handbook/network-servers/_index.po index 80a9195a0c..70daa3bccb 100644 --- a/documentation/content/en/books/handbook/network-servers/_index.po +++ b/documentation/content/en/books/handbook/network-servers/_index.po @@ -1,6391 +1,6398 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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:15 #, no-wrap msgid "Network Servers" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/network-servers/_index.adoc:53 #, no-wrap msgid "Synopsis" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:58 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:60 msgid "By the end of this chapter, readers will know:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:62 msgid "How to manage the inetd daemon." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:63 msgid "How to set up the Network File System (NFS)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:64 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:65 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:66 msgid "How to set up automatic network settings using DHCP." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:67 msgid "How to set up a Domain Name Server (DNS)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:68 msgid "How to set up the Apache HTTP Server." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:69 msgid "How to set up a File Transfer Protocol (FTP) server." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:70 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:71 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:72 msgid "How to set up iSCSI." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:74 msgid "This chapter assumes a basic knowledge of:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:76 msgid "[.filename]#/etc/rc# scripts." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:77 msgid "Network terminology." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:78 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:80 #, no-wrap msgid "The inetd Super-Server" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:86 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:88 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:90 msgid "This section covers the basics of configuring inetd." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/network-servers/_index.adoc:92 #, no-wrap msgid "Configuration File" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:98 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:100 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:104 #, no-wrap msgid "inetd_enable=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:107 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:111 #, no-wrap msgid "# service inetd start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:114 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:116 #, no-wrap msgid "Reloading the inetd Configuration File" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:123 #, no-wrap msgid "# service inetd reload\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:129 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:131 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:135 #, 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:138 msgid "The seven columns in an entry are as follows:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:148 #, 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:151 msgid "where:" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/network-servers/_index.adoc:152 #, no-wrap msgid "service-name" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:157 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:158 #, no-wrap msgid "socket-type" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:161 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:162 #, no-wrap msgid "protocol" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:164 msgid "Use one of the following protocol names:" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:169 #, no-wrap msgid "Protocol Name" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:172 #, no-wrap msgid "Explanation" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:173 #, no-wrap msgid "tcp or tcp4" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:175 #, no-wrap msgid "TCP IPv4" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:176 #, no-wrap msgid "udp or udp4" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:178 #, no-wrap msgid "UDP IPv4" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:179 #, no-wrap msgid "tcp6" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:181 #, no-wrap msgid "TCP IPv6" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:182 #, no-wrap msgid "udp6" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:184 #, no-wrap msgid "UDP IPv6" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:185 #, no-wrap msgid "tcp46" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:187 #, no-wrap msgid "Both TCP IPv4 and IPv6" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:188 #, no-wrap msgid "udp46" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:189 #, no-wrap msgid "Both UDP IPv4 and IPv6" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:194 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:198 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:202 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:208 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:210 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:214 #, 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:216 #, no-wrap msgid "user" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:219 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:220 #, no-wrap msgid "server-program" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:223 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:224 #, no-wrap msgid "server-program-arguments" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:227 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:229 #, no-wrap msgid "Command-Line Options" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:234 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:237 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:239 msgid "The available rate limiting options are:" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/network-servers/_index.adoc:240 #, no-wrap msgid "-c maximum" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:243 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:244 #, no-wrap msgid "-C rate" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:247 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:248 #, no-wrap msgid "-R rate" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:251 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:252 #, no-wrap msgid "-s maximum" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:255 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:257 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:259 #, no-wrap msgid "Security Considerations" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:265 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:268 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:270 #, no-wrap msgid "Network File System (NFS)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:274 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:277 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:279 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:280 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:281 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:282 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:283 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:287 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:289 msgid "These daemons must be running on the server:" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:294 #, no-wrap msgid "Daemon" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:297 #: documentation/content/en/books/handbook/network-servers/_index.adoc:559 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1008 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1027 #, no-wrap msgid "Description" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:298 #, no-wrap msgid "nfsd" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:300 #, no-wrap msgid "The NFS daemon which services requests from NFS clients." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:301 #, no-wrap msgid "mountd" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:303 #, 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:304 #, no-wrap msgid "rpcbind" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:305 #, 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:308 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:310 #, no-wrap msgid "Configuring the Server" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:316 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:321 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:323 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:327 #, no-wrap msgid "/cdrom -ro alpha bravo charlie\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:332 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:337 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:341 #, 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:346 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:350 #, 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:354 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:360 #, 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:363 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:367 #, no-wrap msgid "/usr/src /usr/ports client\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:370 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:381 #, 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:384 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:390 #, 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:393 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:397 #, no-wrap msgid "# service nfsd start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:402 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:406 #, no-wrap msgid "# service mountd reload\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:409 msgid "" "Refer to man:zfs-share[8] for a description of exporting ZFS datasets via " "NFS using the `sharenfs` ZFS property instead of the man:exports[5] file." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:411 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:412 #, no-wrap msgid "Configuring the Client" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:415 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:419 #, no-wrap msgid "nfs_client_enable=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:422 msgid "Then, run this command on each NFS client:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:426 #, no-wrap msgid "# service nfsclient start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:431 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:435 #, no-wrap msgid "# mount server:/home /mnt\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:438 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:440 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:444 #, 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:447 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:448 #, no-wrap msgid "Locking" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:452 msgid "" "Some applications require file locking to operate correctly. To enable " "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:456 #, no-wrap msgid "# sysrc rpc_lockd_enable=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:459 msgid "Then start the man:rpc.lockd[8] service:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:463 #, no-wrap msgid "# service lockd start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:467 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:469 #, no-wrap msgid "Automating Mounts with man:autofs[5]" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:476 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:482 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:484 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:488 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:491 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:495 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:496 #, no-wrap msgid "Mounting an Export with man:autofs[5]" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:500 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:508 #, 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:515 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:517 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:521 #, no-wrap msgid "autofs_enable=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:524 msgid "Then man:autofs[5] can be started by running:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:530 #, 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:534 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:536 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:538 #, no-wrap msgid "Network Information System (NIS)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:543 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:546 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:548 msgid "FreeBSD uses version 2 of the NIS protocol." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/network-servers/_index.adoc:549 #, no-wrap msgid "NIS Terms and Processes" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:552 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:553 #, no-wrap msgid "NIS Terminology" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:557 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1896 #, no-wrap msgid "Term" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:560 #, no-wrap msgid "NIS domain name" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:562 #, 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:563 #, no-wrap msgid "man:rpcbind[8]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:565 #, 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:566 #, no-wrap msgid "man:ypbind[8]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:568 #, 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:569 #, no-wrap msgid "man:ypserv[8]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:571 #, 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:572 #, no-wrap msgid "man:rpc.yppasswdd[8]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:573 #, 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:575 #, no-wrap msgid "Machine Types" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:578 msgid "There are three types of hosts in an NIS environment:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:580 msgid "NIS master server" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:584 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:585 msgid "NIS slave servers" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:588 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:589 msgid "NIS clients" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:591 msgid "NIS clients authenticate against the NIS server during log on." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:595 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:596 #, no-wrap msgid "Planning Considerations" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:602 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:604 msgid "The configuration of the lab will be as follows:" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:609 #, no-wrap msgid "Machine name" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:610 #, no-wrap msgid "IP address" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:613 #, no-wrap msgid "Machine role" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:614 #, no-wrap msgid "`ellington`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:615 #, no-wrap msgid "`10.0.0.2`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:617 #, no-wrap msgid "NIS master" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:618 #, no-wrap msgid "`coltrane`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:619 #, no-wrap msgid "`10.0.0.3`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:621 #, no-wrap msgid "NIS slave" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:622 #, no-wrap msgid "`basie`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:623 #, no-wrap msgid "`10.0.0.4`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:625 #, no-wrap msgid "Faculty workstation" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:626 #, no-wrap msgid "`bird`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:627 #, no-wrap msgid "`10.0.0.5`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:629 #, no-wrap msgid "Client machine" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:630 #, no-wrap msgid "`cli[1-11]`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:631 #, no-wrap msgid "`10.0.0.[6-17]`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:632 #, no-wrap msgid "Other client machines" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:636 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:637 #, no-wrap msgid "Choosing a NIS Domain Name" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:642 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:648 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:651 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:652 #, no-wrap msgid "Physical Server Requirements" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:659 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:660 #, no-wrap msgid "Configuring the NIS Master Server" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:667 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:670 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:673 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:679 #, 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:682 msgid "This line sets the NIS domain name to `test-domain`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:683 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:684 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:689 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:691 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:696 #, 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:699 msgid "This enables running client stuff as well." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:700 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:703 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:707 #, no-wrap msgid "# service ypserv start\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/network-servers/_index.adoc:710 #, no-wrap msgid "Initializing the NIS Maps" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:715 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:721 #, 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:724 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:728 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:733 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:754 #, 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 .\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:756 #, no-wrap msgid "[..output from map generation..]\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:759 #, 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:764 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:768 #, no-wrap msgid "NOPUSH = \"True\"\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/network-servers/_index.adoc:771 #, no-wrap msgid "Adding New Users" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:776 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:782 #, 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:785 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:786 #, no-wrap msgid "Setting up a NIS Slave Server" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:792 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:796 #, no-wrap msgid "coltrane# ypinit -s ellington test-domain\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:798 #, 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:801 #, 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:803 #, 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:848 #, 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:851 #, 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:855 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:860 #, 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:865 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:867 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:868 #, no-wrap msgid "Setting Up an NIS Client" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:877 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:879 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:883 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:888 #, 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:891 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:895 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1116 #, no-wrap msgid "+:::::::::\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:901 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 crossref:network-servers[network-netgroups, Using 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:902 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:906 #, no-wrap msgid "+:*::\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:910 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:915 #, no-wrap msgid "" "# /etc/netstart\n" "# service ypbind start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:918 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:919 #, no-wrap msgid "NIS Security" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:927 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:939 #, 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:944 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:948 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:952 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:956 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:957 #, no-wrap msgid "Barring Some Users" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:962 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:966 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:987 #, 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:989 #, no-wrap msgid "basie#\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/network-servers/_index.adoc:993 #, no-wrap msgid "Using Netgroups" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:996 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:999 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:1001 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:1002 #, no-wrap msgid "Additional Users" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1006 #, no-wrap msgid "User Name(s)" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1009 #, no-wrap msgid "`alpha`, `beta`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1011 #, no-wrap msgid "IT department employees" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1012 #, no-wrap msgid "`charlie`, `delta`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1014 #, no-wrap msgid "IT department apprentices" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1015 #, no-wrap msgid "`echo`, `foxtrott`, `golf`, ..." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1017 #, no-wrap msgid "employees" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1018 #, no-wrap msgid "`able`, `baker`, ..." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1019 #, no-wrap msgid "interns" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/network-servers/_index.adoc:1021 #, no-wrap msgid "Additional Systems" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1025 #, no-wrap msgid "Machine Name(s)" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1028 #, no-wrap msgid "`war`, `death`, `famine`, `pollution`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1030 #, 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:1031 #, no-wrap msgid "`pride`, `greed`, `envy`, `wrath`, `lust`, `sloth`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1033 #, 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:1034 #, no-wrap msgid "`one`, `two`, `three`, `four`, ..." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1036 #, no-wrap msgid "Ordinary workstations used by employees." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1037 #, no-wrap msgid "`trashcan`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1038 #, 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:1044 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:1048 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:1050 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:1058 #, 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:1063 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:1065 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:1066 msgid "The name of the account that belongs to this netgroup." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1067 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:1071 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:1074 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:1077 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:1084 #, 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:1087 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:1089 msgid "To activate and distribute the new NIS map:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1094 #, no-wrap msgid "" "ellington# cd /var/yp\n" "ellington# make\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1098 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:1104 #, 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:1109 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:1112 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:1119 msgid "with" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1123 #, no-wrap msgid "+@IT_EMP:::::::::\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1126 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:1131 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:1135 #, no-wrap msgid "+:::::::::/usr/sbin/nologin\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1138 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:1141 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:1143 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:1149 #, 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:1152 msgid "The corresponding lines for the workstations would be:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1158 #, 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:1165 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:1171 #, 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:1176 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:1181 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:1186 #, no-wrap msgid "" "+@BOXNAME:::::::::\n" "+:::::::::/usr/sbin/nologin\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1191 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:1229 #, 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:1233 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:1234 #, no-wrap msgid "Password Formats" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1239 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:1241 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:1248 #, 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:1253 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:1255 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:1259 #, no-wrap msgid "# cap_mkdb /etc/login.conf\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1264 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:1267 #, no-wrap msgid "Lightweight Directory Access Protocol (LDAP)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1273 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:1276 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:1277 #, no-wrap msgid "LDAP Terminology and Structure" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1283 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:1286 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:1297 #, no-wrap msgid "" "% ldapsearch -xb \"uid=trhodes,ou=users,o=example.com\"\n" "# extended LDIF\n" "#\n" "# LDAPv3\n" "# base 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:1304 #, 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:1308 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1582 #, 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:1311 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1585 #, no-wrap msgid "" "# numResponses: 2\n" "# numEntries: 1\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1315 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:1317 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:1319 #, no-wrap msgid "Configuring an LDAP Server" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1323 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:1327 #, no-wrap msgid "# pkg install openldap-server\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1332 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:1335 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:1339 #, no-wrap msgid "# mkdir /usr/local/etc/openldap/private\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1346 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:1350 #, 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:1355 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:1358 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:1362 #, 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:1366 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:1370 #, 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:1373 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:1378 #, 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:1382 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:1385 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:1392 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:1414 #, 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:1419 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:1421 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:1437 #, 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:1440 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:1446 #, 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:1451 #, 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:1454 msgid "Next, the frontend configuration section:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1488 #, 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:1491 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:1499 #, 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:1504 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:1506 msgid "The last section is about the database backend:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1530 #, 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:1535 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:1538 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:1541 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:1545 #, no-wrap msgid "# mkdir /usr/local/etc/openldap/slapd.d/\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1548 msgid "Import the configuration database:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1552 #, 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:1555 msgid "Start the [.filename]#slapd# daemon:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1559 #, 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:1563 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:1574 #, 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:1578 #, 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:1590 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:1594 #, no-wrap msgid "# pkg install openssl\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1597 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:1601 #, no-wrap msgid "# c_rehash .\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1605 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:1609 #, no-wrap msgid "# openssl verify -verbose -CApath . server.crt\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1613 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:1621 #, 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:1625 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:1628 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:1637 #, 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:1642 #, 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:1647 #, 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:1653 #, 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:1666 #, 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:1672 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:1676 #, 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:1681 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:1688 #, 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:1691 msgid "Then, apply the modifications:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1695 #, 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:1700 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:1702 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:1706 #, 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:1710 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:1713 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:1715 #, no-wrap msgid "Dynamic Host Configuration Protocol (DHCP)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1722 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:1725 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:1731 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:1733 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:1736 #, no-wrap msgid "Configuring a DHCP Client" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1740 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:1748 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:1751 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:1756 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:1758 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:1762 #, no-wrap msgid "ifconfig_fxp0=\"DHCP\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1766 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:1768 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:1772 #, no-wrap msgid "ifconfig_fxp0=\"SYNCDHCP\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1776 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:1778 msgid "The DHCP client uses the following files:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1780 msgid "[.filename]#/etc/dhclient.conf#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1784 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:1785 msgid "[.filename]#/sbin/dhclient#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1787 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:1788 msgid "[.filename]#/sbin/dhclient-script#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1791 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:1792 msgid "[.filename]#/var/db/dhclient.leases.interface#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1794 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:1797 #, no-wrap msgid "Installing and Configuring a DHCP Server" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1801 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:1804 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:1807 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:1813 #, 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:1817 #, 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:1822 #, 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:1827 #, 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:1830 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:1831 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:1832 msgid "The subnet mask that will be provided to clients." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1833 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:1834 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:1835 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:1836 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:1837 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:1838 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:1839 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:1842 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:1844 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:1849 #, no-wrap msgid "" "dhcpd_enable=\"YES\"\n" "dhcpd_ifaces=\"dc0\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1852 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:1854 msgid "Start the server by issuing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network-servers/_index.adoc:1858 #, no-wrap msgid "# service isc-dhcpd start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1861 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:1864 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:1866 msgid "[.filename]#/usr/local/sbin/dhcpd#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1868 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:1869 msgid "[.filename]#/usr/local/etc/dhcpd.conf#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1872 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:1873 msgid "[.filename]#/var/db/dhcpd.leases#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1876 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:1877 msgid "[.filename]#/usr/local/sbin/dhcrelay#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1881 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:1884 #, no-wrap msgid "Domain Name System (DNS)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1889 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:1891 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:1892 #, no-wrap msgid "DNS Terminology" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1898 #, no-wrap msgid "Definition" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1899 #, no-wrap msgid "Forward DNS" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1901 #, no-wrap msgid "Mapping of hostnames to IP addresses." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1902 #, no-wrap msgid "Origin" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1904 #, 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:1905 #, no-wrap msgid "Resolver" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1907 #, 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:1908 #, no-wrap msgid "Reverse DNS" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1910 #, no-wrap msgid "Mapping of IP addresses to hostnames." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1911 #, no-wrap msgid "Root zone" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1913 #, 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:1914 #, no-wrap msgid "Zone" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network-servers/_index.adoc:1915 #, 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:1918 msgid "Examples of zones:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1920 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:1921 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:1922 msgid "`example.org.` is a zone under the `org.`TLD." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1923 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:1927 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:1928 #, no-wrap msgid "Reasons to Run a Name Server" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1931 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:1933 msgid "An authoritative name server is needed when:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1935 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:1936 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:1937 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:1938 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:1940 msgid "A caching name server is needed when:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1942 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:1946 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:1947 #, no-wrap msgid "DNS Server Configuration" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1952 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:1954 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:1958 #, no-wrap msgid "local_unbound_enable=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1961 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:1967 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:1971 #, 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:1975 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:1979 #, no-wrap msgid "# service local_unbound onestart\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:1983 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:1989 #, 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:2005 #, 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:2007 #, no-wrap msgid "Authoritative Name Server Configuration" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network-servers/_index.adoc:2010 msgid "" "FreeBSD does not provide authoritative name server software in the base " "system. Users are encouraged to install third party applications, like " "package:dns/nsd[] or package:dns/bind918[] package or port." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/network-servers/_index.adoc:2012 #, no-wrap -msgid "Zero-configuration networking (mDNS/DNS-SD)" +msgid "Zero-configuration Networking (mDNS/DNS-SD)" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2015 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2016 msgid "" "https://en.wikipedia.org/wiki/Zero-configuration_networking[Zero-" -"configuration networking] (sometimes referred to as zeroconf) is a set of " -"technologies, which simplify network configuration by providing:" +"configuration networking] (sometimes referred to as _Zeroconf_) is a set of " +"technologies, which simplify network configuration. The main parts of " +"Zeroconf are:" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2017 -msgid "automatic assignment of numeric network addresses (mDNS)," +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2018 +msgid "" +"Link-Local Addressing providing automatic assignment of numeric network " +"addresses." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2018 -msgid "automatic distribution and resolution of hostnames (mDNS), and" +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2019 +msgid "" +"Multicast DNS (_mDNS_) providing automatic distribution and resolution of " +"hostnames." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2019 -msgid "automatic discovery of service instances (DNS-SD)." +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2020 +msgid "" +"DNS-Based Service Discovery (_DNS-SD_) providing automatic discovery of " +"service instances." msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2020 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2021 #, no-wrap msgid "Configuring and Starting Avahi" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2024 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2025 msgid "" "One of the popular implementations of zeroconf is https://avahi.org/" "[Avahi]. Avahi can be installed and configured with the following commands:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2033 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2034 #, no-wrap msgid "" "# pkg install avahi-app nss_mdns\n" "# grep -q '^hosts:.*\\' /etc/nsswitch.conf || sed -i \"\" 's/^hosts: .*/& mdns/' /etc/nsswitch.conf\n" "# service dbus enable\n" "# service avahi-daemon enable\n" "# service dbus start\n" "# service avahi-daemon start\n" msgstr "" #. type: Title == -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2036 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2037 #, no-wrap msgid "Apache HTTP Server" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2040 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2041 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:2043 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2044 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:2044 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2045 #, no-wrap msgid "Configuring and Starting Apache" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2049 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2050 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:2050 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2051 #, no-wrap msgid "`ServerRoot \"/usr/local\"`" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2053 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2054 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:2054 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2055 #, no-wrap msgid "`ServerAdmin \\you@example.com`" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2057 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2058 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:2058 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2059 #, no-wrap msgid "`ServerName www.example.com:80`" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2063 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2064 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:2064 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2065 #, no-wrap msgid "`DocumentRoot \"/usr/local/www/apache2_x_/data\"`" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2067 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2068 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:2071 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2072 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:2073 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2074 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:2077 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2078 #, no-wrap msgid "apache24_enable=\"YES\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2080 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2081 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:2084 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2085 #, no-wrap msgid "apache24_flags=\"\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2087 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2088 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:2091 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2092 #, no-wrap msgid "# service apache24 start\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2095 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2096 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:2097 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2098 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:2101 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2102 #, no-wrap msgid "# service apache24 configtest\n" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2106 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2107 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:2108 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2109 #, no-wrap msgid "Virtual Hosting" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2114 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2115 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:2117 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2118 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:2124 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2125 #, no-wrap msgid "" "\n" " ServerName www.domain.tld\n" " DocumentRoot /www/domain.tld\n" "\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2129 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2130 #, no-wrap msgid "" "\n" " ServerName www.someotherdomain.tld\n" " DocumentRoot /www/someotherdomain.tld\n" "\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2132 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2133 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:2134 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2135 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:2135 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2136 #, no-wrap msgid "Apache Modules" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2139 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2140 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:2144 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2145 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:2145 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2146 #, no-wrap msgid "SSL support" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2152 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2153 msgid "" "At one point, 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:2154 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2155 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:2158 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2159 #, 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:2165 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2166 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:2172 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2173 #, 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:2175 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2176 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:2180 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2181 #, 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:2183 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2184 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:2189 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2190 #, 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:2193 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2194 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:2194 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2195 #, no-wrap msgid "[.filename]#mod_perl#" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2198 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2199 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:2201 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2202 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:2202 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2203 #, no-wrap msgid "[.filename]#mod_php#" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2206 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2207 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:2208 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2209 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:2210 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2211 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:2214 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2215 #, no-wrap msgid "# pkg search php\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2219 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2220 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:2223 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2224 #, no-wrap msgid "# pkg install mod_php74\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2226 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2227 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:2229 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2230 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:2238 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2239 #, no-wrap msgid "" "\n" " SetHandler application/x-httpd-php\n" "\n" "\n" " SetHandler application/x-httpd-php-source\n" "\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2241 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2242 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:2244 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2245 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:2248 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2249 #, no-wrap msgid "# pkg install php74-xml php74-openssl\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2251 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2252 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:2253 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2254 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:2257 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2258 #, no-wrap msgid "# apachectl graceful\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2261 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2262 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:2265 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2266 #, no-wrap msgid "# pkg install php74\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2271 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2272 #, no-wrap msgid "# php -i | less\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2274 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2275 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:2278 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2279 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:2279 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2280 #, no-wrap msgid "HTTP2 Support" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2284 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2285 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:2287 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2288 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:2290 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2291 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:2295 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2296 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:2298 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2299 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:2303 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2304 #, 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:2311 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2312 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:2315 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2316 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:2319 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2320 #, no-wrap msgid "Protocols h2 http/1.1\n" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2324 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2325 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:2328 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2329 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:2330 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2331 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:2332 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2333 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:2336 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2337 #, 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:2339 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2340 msgid "This should return something similar to the following:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2346 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2347 #, 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:2349 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2350 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:2352 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2353 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:2353 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2354 #, no-wrap msgid "Dynamic Websites" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2357 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2358 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:2358 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2359 #, no-wrap msgid "Django" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2364 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2365 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:2368 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2369 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:2371 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2372 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:2373 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2374 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:2384 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2385 #, no-wrap msgid "" "\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" "\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2387 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2388 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:2388 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2389 #, no-wrap msgid "Ruby on Rails" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2393 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2394 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:2395 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2396 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:2397 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2398 #, no-wrap msgid "File Transfer Protocol (FTP)" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2401 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2402 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:2405 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2406 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:2406 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2407 #, no-wrap msgid "Configuration" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2412 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2413 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:2416 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2417 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:2421 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2422 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:2426 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2427 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:2428 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2429 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:2432 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2433 #, no-wrap msgid "ftpd_enable=\"YES\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2435 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2436 msgid "To start the service now:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2439 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2440 #, no-wrap msgid "# service ftpd start\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2442 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2443 msgid "Test the connection to the FTP server by typing:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2446 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2447 #, no-wrap msgid "% ftp localhost\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2451 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2452 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:2455 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2456 #, no-wrap msgid "ftp.info /var/log/xferlog\n" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2464 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2465 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:2467 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2468 #, 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:2474 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2475 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:2477 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2478 msgid "" "On FreeBSD, the Samba client libraries can be installed using the " "package:net/samba416[] 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:2480 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2481 msgid "" "A FreeBSD system can also be configured to act as a Samba server by " "installing the same package:net/samba416[] 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:2481 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2482 #, no-wrap msgid "Server Configuration" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2485 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2486 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:2488 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2489 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:2498 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2499 #, 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:2510 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2511 #, 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:2513 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2514 #, no-wrap msgid "Global Settings" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2516 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2517 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:2517 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2518 #, no-wrap msgid "`workgroup`" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2519 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2520 msgid "The name of the workgroup to be served." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2520 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2521 #, no-wrap msgid "`netbios name`" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2523 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2524 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:2524 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2525 #, no-wrap msgid "`server string`" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2526 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2527 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:2527 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2528 #, no-wrap msgid "`wins support`" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2530 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2531 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:2532 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2533 #, no-wrap msgid "Security Settings" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2536 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2537 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:2537 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2538 #, no-wrap msgid "`security`" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2540 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2541 msgid "" "If the clients use usernames that are the same as their usernames on the " "FreeBSD machine, user level security should be used. `security = user` 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:2542 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2543 msgid "" "Refer to man:smb.conf[5] to learn about other supported settings for the " "`security` option." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2543 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2544 #, no-wrap msgid "`passdb backend`" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2549 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2550 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:2550 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2551 #, no-wrap msgid "Samba Users" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2554 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2555 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:2558 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2559 #, no-wrap msgid "# pdbedit -a -u username\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2562 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2563 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:2563 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2564 #, no-wrap msgid "Starting Samba" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2566 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2567 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:2570 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2571 #, no-wrap msgid "samba_server_enable=\"YES\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2573 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2574 msgid "To start Samba now:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2580 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2581 #, 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:2585 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2586 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:2589 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2590 #, no-wrap msgid "winbindd_enable=\"YES\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2592 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2593 msgid "Samba can be stopped at any time by typing:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2596 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2597 #, no-wrap msgid "# service samba_server stop\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2600 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2601 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:2602 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2603 #, no-wrap msgid "Clock Synchronization with NTP" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2608 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2609 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:2610 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2611 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:2613 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2614 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:2614 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2615 #, no-wrap msgid "NTP Configuration" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2618 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2619 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:2621 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2622 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:2622 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2623 #, no-wrap msgid "The [.filename]#/etc/ntp.conf# file" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2632 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2633 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:2633 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2634 #, no-wrap msgid "Sample [.filename]#/etc/ntp.conf#" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2638 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2639 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:2646 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2647 #, 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:2650 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2651 #, 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:2653 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2654 #, 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:2657 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2658 #, 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:2660 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2661 #, 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:2666 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2667 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:2672 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2673 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:2678 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2679 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:2682 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2683 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:2683 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2684 #, no-wrap msgid "NTP entries in [.filename]#/etc/rc.conf#" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2687 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2688 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:2691 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2692 #, no-wrap msgid "# service ntpd start\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2695 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2696 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:2699 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2700 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:2701 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2702 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:2703 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2704 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:2705 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2706 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:2707 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2708 msgid "`-p` (pid file location)" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2708 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2709 msgid "`-c` (set `ntpd_config=` instead)" msgstr "" #. type: Title ==== -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2710 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2711 #, no-wrap -msgid "ntpd and the unpriveleged `ntpd` user" +msgid "ntpd and the unprivileged `ntpd` user" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2717 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2718 msgid "" -"ntpd on FreeBSD can start and run as an unpriveleged user. Doing so " +"ntpd on FreeBSD can start and run as an unprivileged 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 " +"the `mac_ntpd` module, then starts ntpd as unprivileged 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:2719 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2720 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:2721 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2722 msgid "-f or --driftfile" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2722 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2723 msgid "-i or --jaildir" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2723 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2724 msgid "-k or --keyfile" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2724 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2725 msgid "-l or --logfile" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2725 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2726 msgid "-s or --statsdir" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2727 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2728 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:2729 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2730 msgid "crypto" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2730 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2731 msgid "driftfile" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2731 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2732 msgid "key" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2732 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2733 msgid "logdir" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2733 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2734 msgid "statsdir" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2735 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2736 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:2737 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2738 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:2738 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2739 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:2739 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2740 msgid "Set `ntpd_user=\"ntpd\"` in [.filename]#/etc/rc.conf#" msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2740 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2741 #, no-wrap msgid "Using NTP with a PPP Connection" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2745 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2746 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:2756 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2757 #, 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:2759 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2760 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:2763 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2764 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:2766 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2767 #, no-wrap msgid "iSCSI Initiator and Target Configuration" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2770 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2771 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:2774 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2775 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:2778 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2779 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:2781 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2782 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:2783 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2784 #, no-wrap msgid "Configuring an iSCSI Target" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2786 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2787 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:2789 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2790 msgid "" "The following is an example of a simple [.filename]#/etc/ctl.conf# " "configuration file. Refer to man:ctl.conf[5] for a complete description of " "this file's available options." msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2797 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2875 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2798 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2876 #, 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:2801 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2802 #, 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:2807 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2905 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2808 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2906 #, 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:2813 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2814 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:2816 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2817 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:2824 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2825 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:2826 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2827 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:2834 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2835 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:2836 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2837 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:2840 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2841 #, no-wrap msgid "ctld_enable=\"YES\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2843 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2844 msgid "To start man:ctld[8] now, run this command:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2847 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2848 #, no-wrap msgid "# service ctld start\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2851 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2852 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:2855 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2856 #, no-wrap msgid "# service ctld reload\n" msgstr "" #. type: Title ==== -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2858 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2859 #, no-wrap msgid "Authentication" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2862 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2863 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:2869 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2870 #, 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:2884 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2885 #, 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:2890 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2891 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:2893 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2894 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:2899 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2900 #, 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:2909 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2910 #, no-wrap msgid "Configuring an iSCSI Initiator" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2915 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2916 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:2920 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2921 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:2924 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2925 #, no-wrap msgid "iscsid_enable=\"YES\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2927 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2928 msgid "To start man:iscsid[8] now, run this command:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2931 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2932 #, no-wrap msgid "# service iscsid start\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2935 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2936 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:2936 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2937 #, no-wrap msgid "Connecting to a Target Without a Configuration File" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2939 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2940 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:2943 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2944 #, 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:2947 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2948 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:2952 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2953 #, 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:2956 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2957 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:2960 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2961 #, no-wrap msgid "Connected: da0 da1 da2.\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2964 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2965 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:2969 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2970 #, 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:2972 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2973 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:2977 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2978 #, 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:2980 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2981 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:2985 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2986 #, 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:2988 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2989 msgid "This message means that the target requires authentication:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:2993 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2994 #, 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:2996 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:2997 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:3000 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3001 #, 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:3003 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3004 #, no-wrap msgid "Connecting to a Target with a Configuration File" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:3006 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3007 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:3016 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3017 #, 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:3023 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3024 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:3025 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3026 msgid "To connect to the defined target, specify the nickname:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network-servers/_index.adoc:3029 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3030 #, no-wrap msgid "# iscsictl -An t0\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:3032 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3033 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:3036 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3037 #, no-wrap msgid "# iscsictl -Aa\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network-servers/_index.adoc:3039 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3040 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:3044 +#: documentation/content/en/books/handbook/network-servers/_index.adoc:3045 #, 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 f7d3cc5a14..71bbbb22ab 100644 --- a/documentation/content/en/books/handbook/network/_index.po +++ b/documentation/content/en/books/handbook/network/_index.po @@ -1,2031 +1,2007 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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." 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:15 #, no-wrap msgid "Network" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/network/_index.adoc:53 #, no-wrap msgid "Synopsis" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:57 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:59 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:61 msgid "This chapter covers:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:63 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:64 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:65 msgid "" "FreeBSD's networking capabilities and its reputation for excellent network " "performance." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:66 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:68 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:70 #, no-wrap msgid "Setting up the Network" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:74 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:76 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:78 msgid "If the network has DHCP" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:79 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:80 msgid "The netmask" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:81 msgid "The IP address of the default gateway" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/network/_index.adoc:85 msgid "" "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:88 #, no-wrap msgid "Identify Network Adapters" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:92 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." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:94 msgid "" "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:98 #, no-wrap msgid "% pciconf -lv | grep -A1 -B3 network\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:101 #: documentation/content/en/books/handbook/network/_index.adoc:158 #: documentation/content/en/books/handbook/network/_index.adoc:265 #: documentation/content/en/books/handbook/network/_index.adoc:299 #: documentation/content/en/books/handbook/network/_index.adoc:338 -#: documentation/content/en/books/handbook/network/_index.adoc:404 -#: documentation/content/en/books/handbook/network/_index.adoc:667 -#: documentation/content/en/books/handbook/network/_index.adoc:794 +#: documentation/content/en/books/handbook/network/_index.adoc:403 +#: documentation/content/en/books/handbook/network/_index.adoc:664 +#: documentation/content/en/books/handbook/network/_index.adoc:791 msgid "The output should be similar to the following:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:109 #, no-wrap msgid "" "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:114 #, no-wrap msgid "" "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" +" class = network\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:118 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:120 msgid "Shows the name of the vendor" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:121 msgid "Shows the name of the device" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/network/_index.adoc:125 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:127 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:131 #, no-wrap msgid "# kldload if_alc\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:134 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:138 #, no-wrap msgid "if_alc_load=\"YES\"\n" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/network/_index.adoc:142 #, no-wrap msgid "Wired Networks" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/network/_index.adoc:147 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:149 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:151 msgid "" "To display the network interface configuration, enter the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:155 #, no-wrap msgid "% ifconfig\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:176 #, no-wrap msgid "" "em0: flags=8863 metric 0 mtu 1500\n" " options=481249b\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 )\n" " status: active\n" " nd6 options=23\n" "lo0: flags=8049 metric 0 mtu 16384\n" " options=680003\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\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:179 msgid "In this example, the following devices were displayed:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:181 msgid "`em0`: The Ethernet interface." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:182 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:184 msgid "The example shows that `em0` is up and running." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:186 msgid "The key indicators are:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:188 msgid "`UP` means that the interface is configured and ready." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:189 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:190 msgid "" "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:191 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:192 msgid "It has a valid broadcast address, `192.168.1.255`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:193 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:194 msgid "" "The physical media selection is on autoselection mode (`media: Ethernet " "autoselect (1000baseT )`)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:195 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:197 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:206 #, no-wrap msgid "" "em0: flags=8822 metric 0 mtu 1500\n" " options=481249b\n" " ether 00:1f:16:0f:27:5a\n" " media: Ethernet autoselect\n" " status: no carrier\n" " nd6 options=29\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/network/_index.adoc:209 #, no-wrap msgid "Configuring Static IPv4 Address" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:212 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:214 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:219 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:222 msgid "The IP address can be set executing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:226 #, no-wrap msgid "# ifconfig em0 inet 192.168.1.150/24\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:229 -#: documentation/content/en/books/handbook/network/_index.adoc:628 +#: documentation/content/en/books/handbook/network/_index.adoc:625 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:233 #, 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:236 msgid "Add the default router executing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:240 #, no-wrap msgid "# sysrc defaultrouter=\"192.168.1.1\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:243 msgid "Add the DNS records to [.filename]#/etc/resolv.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:248 #, 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:251 msgid "Then restart `netif` and `routing` executing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:255 #, no-wrap msgid "# service netif restart && service routing restart\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:258 #: documentation/content/en/books/handbook/network/_index.adoc:331 msgid "The connection can be tested using man:ping[8]:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:262 #: documentation/content/en/books/handbook/network/_index.adoc:335 #, no-wrap msgid "% ping -c2 www.FreeBSD.org\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:271 #: documentation/content/en/books/handbook/network/_index.adoc:344 #, 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:275 #: documentation/content/en/books/handbook/network/_index.adoc:348 #, 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:278 #, no-wrap msgid "Configuring Dynamic IPv4 Address" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:283 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:285 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:289 #, no-wrap msgid "# sysrc ifconfig_em0=\"DHCP\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:292 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:296 #, no-wrap msgid "# dhclient em0\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:306 #, 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:309 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:314 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:316 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:320 #, no-wrap msgid "# sysrc background_dhclient=\"YES\"\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/network/_index.adoc:324 msgid "Then restart `netif` executing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/network/_index.adoc:328 -#: documentation/content/en/books/handbook/network/_index.adoc:613 -#: documentation/content/en/books/handbook/network/_index.adoc:734 +#: documentation/content/en/books/handbook/network/_index.adoc:610 +#: documentation/content/en/books/handbook/network/_index.adoc:731 #, no-wrap msgid "# service netif restart\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/network/_index.adoc:351 #, no-wrap msgid "IPv6" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:354 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:356 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:358 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:359 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:360 msgid "" -"Address autoconfiguration (http://www.ietf.org/rfc/rfc2462.txt[RFC2462])." +"Address autoconfiguration (http://www.ietf.org/rfc/rfc4862.txt[RFC4862])." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:361 msgid "Mandatory multicast addresses." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:362 msgid "Built-in IPsec (IP security)." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:363 msgid "Simplified header structure." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:364 msgid "Support for mobile IP." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:365 msgid "IPv6-to-IPv4 transition mechanisms." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:367 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:369 msgid "This section focuses on getting IPv6 configured and running." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:371 msgid "There are three different types of IPv6 addresses:" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/network/_index.adoc:372 #, no-wrap msgid "Unicast" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/network/_index.adoc:374 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:375 #, no-wrap msgid "Anycast" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:379 +#: 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." +"address will arrive at the nearest interface." msgstr "" #. type: Labeled list -#: documentation/content/en/books/handbook/network/_index.adoc:380 +#: 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:384 +#: 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:387 +#: 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`." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:392 +#: 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:395 +#: 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:397 +#: 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:401 +#: 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:415 +#: documentation/content/en/books/handbook/network/_index.adoc:414 #, no-wrap msgid "" "em0: flags=8863 metric 0 mtu 1500\n" " options=481249b\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 )\n" " status: active\n" " nd6 options=23\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:418 +#: 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." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:421 +#: 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:423 +#: 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:427 +#: 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:428 +#: documentation/content/en/books/handbook/network/_index.adoc:427 #, no-wrap -msgid "Prefixlength (Bits)" +msgid "Description" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:429 #, no-wrap -msgid "Description" +msgid "Notes" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:431 +#: documentation/content/en/books/handbook/network/_index.adoc:430 #, no-wrap -msgid "Notes" +msgid "`::/128`" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:432 +#: documentation/content/en/books/handbook/network/_index.adoc:431 #, no-wrap -msgid "`::`" +msgid "unspecified" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:433 -#: documentation/content/en/books/handbook/network/_index.adoc:438 #, no-wrap -msgid "128 bits" +msgid "Equivalent to `0.0.0.0` in IPv4." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:434 #, no-wrap -msgid "unspecified" +msgid "`::1/128`" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:436 +#: documentation/content/en/books/handbook/network/_index.adoc:435 #, no-wrap -msgid "Equivalent to `0.0.0.0` in IPv4." +msgid "loopback address" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:437 #, no-wrap -msgid "`::1`" +msgid "Equivalent to `127.0.0.1` in IPv4." +msgstr "" + +#. type: Table +#: documentation/content/en/books/handbook/network/_index.adoc:438 +#, no-wrap +msgid "`::ffff:0.0.0.0/96`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:439 #, no-wrap -msgid "loopback address" +msgid "IPv4 mapped IPv6 address" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:441 #, no-wrap -msgid "Equivalent to `127.0.0.1` in IPv4." +msgid "The lower 32 bits are the IPv4 address for compatibility with IPv4 hosts and routers." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:442 #, no-wrap -msgid "`::00:xx:xx:xx:xx`" +msgid "`fe80::/10`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:443 -#: documentation/content/en/books/handbook/network/_index.adoc:448 #, no-wrap -msgid "96 bits" +msgid "link-local unicast" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:444 +#: documentation/content/en/books/handbook/network/_index.adoc:445 #, no-wrap -msgid "embedded IPv4" +msgid "Equivalent to 169.254.0.0/16 in IPv4." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:446 #, no-wrap -msgid "The lower 32 bits are the compatible IPv4 address." +msgid "`fc00::/7`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:447 #, no-wrap -msgid "`::ff:xx:xx:xx:xx`" +msgid "unique-local" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:449 #, no-wrap -msgid "IPv4 mapped IPv6 address" +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:451 +#: 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." +msgid "`ff00::/8`" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:452 -#, no-wrap -msgid "`fe80::/10`" -msgstr "" - -#. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:453 +#: documentation/content/en/books/handbook/network/_index.adoc:451 #, no-wrap -msgid "10 bits" +msgid "multicast" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:454 #, no-wrap -msgid "link-local" +msgid "`2000::/3`" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:456 +#: documentation/content/en/books/handbook/network/_index.adoc:455 #, no-wrap -msgid "Equivalent to 169.254.0.0/16 in IPv4." +msgid "global unicast" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:457 #, no-wrap -msgid "`fc00::/7`" +msgid "All global unicast addresses are assigned from this pool. The first 3 bits are `001`." msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:458 #, no-wrap -msgid "7 bits" +msgid "``2001:db8::/32, 3fff::/20``" msgstr "" #. type: Table #: documentation/content/en/books/handbook/network/_index.adoc:459 #, no-wrap -msgid "unique-local" -msgstr "" - -#. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:461 -#, no-wrap -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:462 -#, no-wrap -msgid "`ff00::`" -msgstr "" - -#. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:463 -#, no-wrap -msgid "8 bits" -msgstr "" - -#. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:464 -#, no-wrap -msgid "multicast" -msgstr "" - -#. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:467 -#, no-wrap -msgid "``2000::-3fff::``" -msgstr "" - -#. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:468 -#, no-wrap -msgid "3 bits" -msgstr "" - -#. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:469 -#, no-wrap -msgid "global unicast" +msgid "documentation" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:470 +#: documentation/content/en/books/handbook/network/_index.adoc:460 #, no-wrap -msgid "All global unicast addresses are assigned from this pool. The first 3 bits are `001`." +msgid "IPv6 address prefix for use in documentation." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:473 +#: documentation/content/en/books/handbook/network/_index.adoc:463 msgid "" "For further information on the structure of IPv6 addresses, refer to http://" -"www.ietf.org/rfc/rfc3513.txt[RFC3513]." +"www.ietf.org/rfc/rfc4291.txt[RFC4291]." msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:475 +#: documentation/content/en/books/handbook/network/_index.adoc:465 #, no-wrap msgid "Configuring Static IPv6 Address" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:478 +#: documentation/content/en/books/handbook/network/_index.adoc:468 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:480 +#: documentation/content/en/books/handbook/network/_index.adoc:470 msgid "Execute the following commands to meet the requirements:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:484 +#: documentation/content/en/books/handbook/network/_index.adoc:474 #, no-wrap 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:487 +#: documentation/content/en/books/handbook/network/_index.adoc:477 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:491 +#: documentation/content/en/books/handbook/network/_index.adoc:481 #, no-wrap msgid "# sysrc ipv6_defaultrouter=\"2001:db8:4672:6565::1\"\n" msgstr "" -#. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:494 +#. type: Plain text +#: documentation/content/en/books/handbook/network/_index.adoc:484 +msgid "" +"To configure an additional IPv6 anycast address, specify the anycast address " +"as an `_aliasN`, as specified in man:rc.conf[5], followed by the `anycast` " +"option:" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/network/_index.adoc:487 #, no-wrap -msgid "Configuring Dynamic IPv6 Address" +msgid "# sysrc ifconfig_em0_alias0=\"inet6 2001:db8:4672:6565::a anycast\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:498 +#: documentation/content/en/books/handbook/network/_index.adoc:490 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." +"Keep in mind that the applications can't bind to anycast addresses; in that " +"case you need to use an alias address instead." +msgstr "" + +#. type: Title === +#: documentation/content/en/books/handbook/network/_index.adoc:492 +#, no-wrap +msgid "Configuring Dynamic IPv6 Address" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:500 +#: documentation/content/en/books/handbook/network/_index.adoc:495 msgid "" -"To make the interface work without DHCP, execute the following commands:" +"To dynamically configure the IPv6 address of the interface using " +"crossref:glossary[slaac-glossary,SLAAC], execute the following commands:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:505 +#: documentation/content/en/books/handbook/network/_index.adoc:500 #, no-wrap msgid "" "# sysrc ifconfig_em0_ipv6=\"inet6 accept_rtadv\"\n" "# sysrc rtsold_enable=\"YES\"\n" msgstr "" +#. type: Plain text +#: documentation/content/en/books/handbook/network/_index.adoc:503 +msgid "" +"Note that when IPv6 packet forwarding is enabled (i.e., " +"`ipv6_gateway_enable=YES`), the system will not configure a SLAAC address " +"unless the `net.inet6.ip6.rfc6204w3` man:sysctl[8] variable is set to 1." +msgstr "" + #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:507 +#: documentation/content/en/books/handbook/network/_index.adoc:504 #, no-wrap msgid "Router Advertisement and Host Auto Configuration" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:510 +#: documentation/content/en/books/handbook/network/_index.adoc:507 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:512 +#: documentation/content/en/books/handbook/network/_index.adoc:509 msgid "To enable man:rtadvd[8], execute the following command:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:516 +#: documentation/content/en/books/handbook/network/_index.adoc:513 #, no-wrap msgid "# sysrc rtadvd_enable=\"YES\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:520 +#: documentation/content/en/books/handbook/network/_index.adoc:517 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:524 +#: documentation/content/en/books/handbook/network/_index.adoc:521 #, no-wrap msgid "# sysrc rtadvd_interfaces=\"em0\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:527 +#: documentation/content/en/books/handbook/network/_index.adoc:524 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:532 +#: documentation/content/en/books/handbook/network/_index.adoc:529 #, 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:535 +#: documentation/content/en/books/handbook/network/_index.adoc:532 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:538 +#: documentation/content/en/books/handbook/network/_index.adoc:535 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:539 +#: documentation/content/en/books/handbook/network/_index.adoc:536 #, no-wrap msgid "IPv6 and IPv4 Address mapping" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:544 +#: documentation/content/en/books/handbook/network/_index.adoc:541 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:548 +#: documentation/content/en/books/handbook/network/_index.adoc:545 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:550 +#: documentation/content/en/books/handbook/network/_index.adoc:547 msgid "To enable this feature execute the following command:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:554 +#: documentation/content/en/books/handbook/network/_index.adoc:551 #, no-wrap msgid "# sysrc ipv6_ipv4mapping=\"YES\"\n" msgstr "" #. type: Title == -#: documentation/content/en/books/handbook/network/_index.adoc:557 +#: documentation/content/en/books/handbook/network/_index.adoc:554 #, no-wrap msgid "Wireless Networks" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:560 +#: documentation/content/en/books/handbook/network/_index.adoc:557 msgid "" "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:562 +#: documentation/content/en/books/handbook/network/_index.adoc:559 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]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:566 +#: documentation/content/en/books/handbook/network/_index.adoc:563 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:569 +#: documentation/content/en/books/handbook/network/_index.adoc:566 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:571 +#: documentation/content/en/books/handbook/network/_index.adoc:568 msgid "There are three basic steps to configure a wireless network:" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:573 +#: documentation/content/en/books/handbook/network/_index.adoc:570 msgid "Scan and select an access point" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:574 +#: documentation/content/en/books/handbook/network/_index.adoc:571 msgid "Authenticate the station" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:575 +#: documentation/content/en/books/handbook/network/_index.adoc:572 msgid "Configure an IP address or use DHCP." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:577 +#: documentation/content/en/books/handbook/network/_index.adoc:574 msgid "The following sections discuss each step." msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:579 +#: documentation/content/en/books/handbook/network/_index.adoc:576 #, no-wrap msgid "Quick Start to Connect to a Wireless Network" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:582 +#: documentation/content/en/books/handbook/network/_index.adoc:579 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:584 +#: documentation/content/en/books/handbook/network/_index.adoc:581 msgid "This procedure shows the steps required:" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:586 +#: documentation/content/en/books/handbook/network/_index.adoc:583 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:588 +#: documentation/content/en/books/handbook/network/_index.adoc:585 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:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:595 +#: documentation/content/en/books/handbook/network/_index.adoc:592 #, no-wrap msgid "" "network={\n" " ssid=\"myssid\" <.>\n" " psk=\"mypsk\" <.>\n" "}\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:598 +#: documentation/content/en/books/handbook/network/_index.adoc:595 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:599 +#: documentation/content/en/books/handbook/network/_index.adoc:596 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:601 +#: documentation/content/en/books/handbook/network/_index.adoc:598 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:606 +#: documentation/content/en/books/handbook/network/_index.adoc:603 #, 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:609 +#: documentation/content/en/books/handbook/network/_index.adoc:606 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:616 +#: documentation/content/en/books/handbook/network/_index.adoc:613 #, no-wrap msgid "Basic Wireless Configuration" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:621 +#: documentation/content/en/books/handbook/network/_index.adoc:618 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 crossref:network[config-identify-network-adapter, Identify " "Network Adapters]." msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:625 +#: documentation/content/en/books/handbook/network/_index.adoc:622 #, no-wrap msgid "# ifconfig wlan0 create wlandev iwm0\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:632 +#: documentation/content/en/books/handbook/network/_index.adoc:629 #, no-wrap msgid "# sysrc wlans_iwm0=\"wlan0\"\n" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:637 +#: documentation/content/en/books/handbook/network/_index.adoc:634 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:640 +#: documentation/content/en/books/handbook/network/_index.adoc:637 msgid "" "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:644 +#: documentation/content/en/books/handbook/network/_index.adoc:641 #, no-wrap msgid "# ifconfig wlan0 regdomain etsi2 country AT\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:647 +#: documentation/content/en/books/handbook/network/_index.adoc:644 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:651 +#: documentation/content/en/books/handbook/network/_index.adoc:648 #, no-wrap msgid "# sysrc create_args_wlan0=\"country AT regdomain etsi2\"\n" msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:655 +#: documentation/content/en/books/handbook/network/_index.adoc:652 #, no-wrap msgid "Scan Wireless Networks" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:658 +#: documentation/content/en/books/handbook/network/_index.adoc:655 msgid "Available wireless networks can be scanned using man:ifconfig[8]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:660 +#: documentation/content/en/books/handbook/network/_index.adoc:657 msgid "To list the wireless networks execute the following command:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:664 +#: documentation/content/en/books/handbook/network/_index.adoc:661 #, no-wrap msgid "# ifconfig wlan0 up list scan\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:677 +#: documentation/content/en/books/handbook/network/_index.adoc:674 #, 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" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:680 +#: documentation/content/en/books/handbook/network/_index.adoc:677 msgid "SSID/MESH ID identifies the name of the network." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:681 +#: documentation/content/en/books/handbook/network/_index.adoc:678 msgid "BSSID identifies the MAC address of the access point." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:682 +#: documentation/content/en/books/handbook/network/_index.adoc:679 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)." msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:684 +#: documentation/content/en/books/handbook/network/_index.adoc:681 #, no-wrap msgid "Connection and Authentication to a Wireless Network" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:689 +#: documentation/content/en/books/handbook/network/_index.adoc:686 msgid "" "Once a wireless network has been selected from the list of scanned networks, " "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:691 +#: documentation/content/en/books/handbook/network/_index.adoc:688 #, no-wrap msgid "Authenticate with WPA2/WPA/Personal" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:694 +#: documentation/content/en/books/handbook/network/_index.adoc:691 msgid "" "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:697 +#: documentation/content/en/books/handbook/network/_index.adoc:694 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]." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:699 +#: documentation/content/en/books/handbook/network/_index.adoc:696 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:707 +#: documentation/content/en/books/handbook/network/_index.adoc:704 #, 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:710 +#: documentation/content/en/books/handbook/network/_index.adoc:707 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:711 +#: documentation/content/en/books/handbook/network/_index.adoc:708 msgid "Network name." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:712 +#: documentation/content/en/books/handbook/network/_index.adoc:709 msgid "Password of the wireless network." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:714 +#: documentation/content/en/books/handbook/network/_index.adoc:711 msgid "" "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:716 +#: documentation/content/en/books/handbook/network/_index.adoc:713 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:720 +#: documentation/content/en/books/handbook/network/_index.adoc:717 #, 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:723 +#: documentation/content/en/books/handbook/network/_index.adoc:720 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:727 +#: documentation/content/en/books/handbook/network/_index.adoc:724 #, no-wrap msgid "# sysrc ifconfig_wlan0=\"WPA DHCP\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:730 +#: documentation/content/en/books/handbook/network/_index.adoc:727 msgid "Then restart the network executing the following command:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:739 +#: documentation/content/en/books/handbook/network/_index.adoc:736 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\"]." msgstr "" #. type: Title ==== -#: documentation/content/en/books/handbook/network/_index.adoc:742 +#: documentation/content/en/books/handbook/network/_index.adoc:739 #, no-wrap msgid "Authenticate with Open Networks" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:747 +#: documentation/content/en/books/handbook/network/_index.adoc:744 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:750 +#: documentation/content/en/books/handbook/network/_index.adoc:747 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:754 +#: documentation/content/en/books/handbook/network/_index.adoc:751 #, no-wrap msgid "# ifconfig wlan0 ssid SSID\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:757 +#: documentation/content/en/books/handbook/network/_index.adoc:754 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:761 +#: documentation/content/en/books/handbook/network/_index.adoc:758 #, no-wrap msgid "# dhclient wlan0\n" msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:763 +#: documentation/content/en/books/handbook/network/_index.adoc:760 #, no-wrap msgid "Using Both Wired and Wireless Connections" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:767 +#: documentation/content/en/books/handbook/network/_index.adoc:764 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:770 +#: documentation/content/en/books/handbook/network/_index.adoc:767 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:772 +#: documentation/content/en/books/handbook/network/_index.adoc:769 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 " "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:774 +#: documentation/content/en/books/handbook/network/_index.adoc:771 #, no-wrap msgid "Hostname" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:777 +#: documentation/content/en/books/handbook/network/_index.adoc:774 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:781 +#: documentation/content/en/books/handbook/network/_index.adoc:778 msgid "" -"If no hostname has been set for the host FreeBSD will assign the value " -"`Amnesiac`." +"If no hostname is set for the host, FreeBSD will call itself `Amnesiac`." msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:784 +#: documentation/content/en/books/handbook/network/_index.adoc:781 #, no-wrap msgid "Check The Current Hostname" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:787 +#: documentation/content/en/books/handbook/network/_index.adoc:784 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:791 +#: documentation/content/en/books/handbook/network/_index.adoc:788 #, no-wrap msgid "$ hostname\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:798 +#: documentation/content/en/books/handbook/network/_index.adoc:795 #, no-wrap msgid "freebsdhostname.example.com\n" msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:801 +#: documentation/content/en/books/handbook/network/_index.adoc:798 #, no-wrap msgid "Change Hostname" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:804 +#: documentation/content/en/books/handbook/network/_index.adoc:801 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:808 +#: documentation/content/en/books/handbook/network/_index.adoc:805 #, no-wrap msgid "# sysrc hostname=\"freebsdhostname.example.com\"\n" msgstr "" #. type: Title == -#: documentation/content/en/books/handbook/network/_index.adoc:811 +#: documentation/content/en/books/handbook/network/_index.adoc:808 #, no-wrap msgid "DNS" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:814 +#: documentation/content/en/books/handbook/network/_index.adoc:811 msgid "" "The DNS could be understood 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:817 +#: documentation/content/en/books/handbook/network/_index.adoc:814 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]" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:819 +#: documentation/content/en/books/handbook/network/_index.adoc:816 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:823 +#: documentation/content/en/books/handbook/network/_index.adoc:820 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:825 +#: documentation/content/en/books/handbook/network/_index.adoc:822 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:829 +#: documentation/content/en/books/handbook/network/_index.adoc:826 #, no-wrap msgid "hosts: files dns\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:833 +#: documentation/content/en/books/handbook/network/_index.adoc:830 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:837 +#: documentation/content/en/books/handbook/network/_index.adoc:834 #, no-wrap msgid "hosts: files cache dns\n" msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:841 +#: documentation/content/en/books/handbook/network/_index.adoc:838 #, no-wrap msgid "Local addresses" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:846 +#: documentation/content/en/books/handbook/network/_index.adoc:843 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:848 +#: documentation/content/en/books/handbook/network/_index.adoc:845 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#:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:852 +#: documentation/content/en/books/handbook/network/_index.adoc:849 #, no-wrap msgid "192.168.1.150 git.example.com git\n" msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:855 +#: documentation/content/en/books/handbook/network/_index.adoc:852 #, no-wrap msgid "Configuring the Nameserver" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:858 +#: documentation/content/en/books/handbook/network/_index.adoc:855 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:860 +#: documentation/content/en/books/handbook/network/_index.adoc:857 msgid "The most common entries to [.filename]#/etc/resolv.conf# are:" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:866 +#: documentation/content/en/books/handbook/network/_index.adoc:863 #, no-wrap msgid "`nameserver`" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:868 +#: documentation/content/en/books/handbook/network/_index.adoc:865 #, 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." msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:869 +#: documentation/content/en/books/handbook/network/_index.adoc:866 #, no-wrap msgid "`search`" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:871 +#: documentation/content/en/books/handbook/network/_index.adoc:868 #, no-wrap 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:872 +#: documentation/content/en/books/handbook/network/_index.adoc:869 #, no-wrap msgid "`domain`" msgstr "" #. type: Table -#: documentation/content/en/books/handbook/network/_index.adoc:873 +#: documentation/content/en/books/handbook/network/_index.adoc:870 #, no-wrap msgid "The local domain name." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:876 +#: documentation/content/en/books/handbook/network/_index.adoc:873 msgid "A typical [.filename]#/etc/resolv.conf# looks like this:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:882 +#: documentation/content/en/books/handbook/network/_index.adoc:879 #, 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:887 +#: documentation/content/en/books/handbook/network/_index.adoc:884 msgid "Only one of the `search` and `domain` options should be used." msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:890 +#: documentation/content/en/books/handbook/network/_index.adoc:887 msgid "" "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:894 +#: documentation/content/en/books/handbook/network/_index.adoc:891 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:896 +#: documentation/content/en/books/handbook/network/_index.adoc:893 msgid "To enable it at boot time execute the following command:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/handbook/network/_index.adoc:900 +#: documentation/content/en/books/handbook/network/_index.adoc:897 #, no-wrap msgid "# sysrc local_unbound_enable=\"YES\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:903 +#: documentation/content/en/books/handbook/network/_index.adoc:900 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:907 +#: documentation/content/en/books/handbook/network/_index.adoc:904 #, no-wrap msgid "# service local_unbound start\n" msgstr "" #. type: Title == -#: documentation/content/en/books/handbook/network/_index.adoc:911 +#: documentation/content/en/books/handbook/network/_index.adoc:908 #, no-wrap msgid "Troubleshooting" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:914 +#: documentation/content/en/books/handbook/network/_index.adoc:911 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:916 +#: documentation/content/en/books/handbook/network/_index.adoc:913 msgid "Is the network cable plugged in?" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:917 +#: documentation/content/en/books/handbook/network/_index.adoc:914 msgid "Are the network services properly configured?" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:918 +#: documentation/content/en/books/handbook/network/_index.adoc:915 msgid "Is the firewall configured correctly?" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:919 +#: documentation/content/en/books/handbook/network/_index.adoc:916 msgid "Is the NIC supported by FreeBSD?" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:920 +#: documentation/content/en/books/handbook/network/_index.adoc:917 msgid "Is the router working correctly?" msgstr "" #. type: Plain text -#: documentation/content/en/books/handbook/network/_index.adoc:924 +#: documentation/content/en/books/handbook/network/_index.adoc:921 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." msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:927 +#: documentation/content/en/books/handbook/network/_index.adoc:924 #, no-wrap msgid "Troubleshooting in Wired Networks" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:931 +#: documentation/content/en/books/handbook/network/_index.adoc:928 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:936 +#: documentation/content/en/books/handbook/network/_index.adoc:933 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\"]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:940 +#: documentation/content/en/books/handbook/network/_index.adoc:937 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 " "information." msgstr "" #. type: Title === -#: documentation/content/en/books/handbook/network/_index.adoc:942 +#: documentation/content/en/books/handbook/network/_index.adoc:939 #, no-wrap msgid "Troubleshooting in Wireless Networks" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/handbook/network/_index.adoc:945 +#: documentation/content/en/books/handbook/network/_index.adoc:942 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:947 +#: documentation/content/en/books/handbook/network/_index.adoc:944 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:949 +#: documentation/content/en/books/handbook/network/_index.adoc:946 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:951 +#: documentation/content/en/books/handbook/network/_index.adoc:948 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:952 +#: documentation/content/en/books/handbook/network/_index.adoc:949 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/wayland/_index.po b/documentation/content/en/books/handbook/wayland/_index.po index 1d265db670..cd578b4ea3 100644 --- a/documentation/content/en/books/handbook/wayland/_index.po +++ b/documentation/content/en/books/handbook/wayland/_index.po @@ -1,1263 +1,1263 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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/wayland/_index.adoc:1 #, no-wrap msgid "This chapter describes how to install and configure Wayland and compositors on FreeBSD, which provides a graphical user environment" msgstr "" #. type: YAML Front Matter: part #: documentation/content/en/books/handbook/wayland/_index.adoc:1 #, no-wrap msgid "Part I. Getting Started" msgstr "" #. type: YAML Front Matter: title #: documentation/content/en/books/handbook/wayland/_index.adoc:1 #, no-wrap msgid "Chapter 6. Wayland" msgstr "" #. type: Title = #: documentation/content/en/books/handbook/wayland/_index.adoc:15 #, no-wrap msgid "Wayland on FreeBSD" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/wayland/_index.adoc:53 #, no-wrap msgid "Synopsis" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:57 msgid "" "An installation of FreeBSD using bsdinstall does not automatically install a " "graphical user interface. This chapter describes how to select, install, " "and configure a Wayland compositor, which provides a graphical environment." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:59 msgid "Before reading this chapter, you should:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:61 msgid "" "Know how to install crossref:ports[ports,additional third-party software]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:63 msgid "" "How to identify and configure crossref:x11[x-graphic-card-drivers,drivers " "for your graphics hardware]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:65 msgid "After reading this chapter, you will know:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:67 msgid "How to configure FreeBSD to host a Wayland graphical environment." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:69 msgid "How to install and configure a Wayland compositor." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:71 msgid "How to run programs designed for the older X Window System." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:73 msgid "" "How to configure remote desktop access to a Wayland graphical environment." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/wayland/_index.adoc:75 #, no-wrap msgid "Wayland Overview" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:80 msgid "" "Wayland is a new display server, but it differs from Xorg in several " "important ways. First, Wayland is only a protocol that acts as an " "intermediary between clients using a different mechanism which removes the " "dependency on an X server. Xorg includes both the X11 protocol, used to run " "remote displays and the X server will accept connections and display " "windows. Under Wayland, the compositor or window manager provides the " "display server instead of a traditional X server." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:83 msgid "" "Since Wayland is not an X server, traditional X screen connections will need " "to utilize other methods such as VNC or RDP for remote desktop management. " "Second, Wayland can manage composite communications between clients and a " "compositor as a separate entity which does not need to support the X " "protocols." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:87 msgid "" "Wayland is relatively new, and not all software has been updated to run " "natively without `Xwayland` support. Because Wayland does not provide the X " "server, and expects compositors to provide that support, X11 window managers " "that do not yet support Wayland will require that `Xwayland` is not started " "with the `-rootless` parameter. The `-rootless` parameter, when removed, " "will restore X11 window manager support." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:92 msgid "" "The current NVIDIA(R) driver should work with most wlroots compositors, but " "it may be a little unstable and not support all features at this time. " "Volunteers to help work on the NVIDIA(R) DRM are requested." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:96 msgid "" "Currently, a lot of software will function with minimal issues on Wayland, " "including Firefox. And a few desktops are also available, such as the " "Compiz Fusion replacement, known as Wayfire, and the i3 window manager " "replacement, Sway." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:103 msgid "" "As of May, 2021, plasma5-kwin does support Wayland on FreeBSD. To use " "Plasma under Wayland, use the `startplasma-wayland` parameter to `ck-launch-" "session` and tie in dbus with: `dbus-launch --exit-with-x11 ck-launch-" "session startplasma-wayland` to get it working." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:109 msgid "" "For compositors, a kernel supporting the man:evdev[4] driver must exist to " "utilize the keybinding functionality. This is built into the " "[.filename]#GENERIC# kernel by default; however, if it has been customized " "and man:evdev[4] support was stripped out, the man:evdev[4] module will need " "to be loaded. In addition, users of `Wayland` will need to be members of " "the `video` group. To quickly make this change, use the `pw` command:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:113 #, no-wrap msgid "pw groupmod video -m user\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:118 msgid "" "Installing Wayland is simple; there is not a great deal of configuration for " "the protocol itself. Most of the composition will depend on the chosen " "compositor. By installing `seatd` now, a step is skipped as part of the " "compositor installation and configuration as `seatd` is needed to provide " "non-root access to certain devices." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:121 msgid "" "All of the compositors described here should work with package:graphics/drm-" "kmod[] open source drivers; however, the NVIDIA(R) graphics cards may have " "issues when using the proprietary drivers. Begin by installing the " "following packages:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:125 #, no-wrap msgid "# pkg install wayland seatd\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:132 msgid "" "Once the protocol and supporting packages have been installed, a compositor " "must create the user interface. Several compositors will be covered in the " "following sections. All compositors using Wayland will need a runtime " "directory defined in the environment. Since FreeBSD 14.1, this is created " "and defined automatically. For previous versions, this is achieved with the " "following command in the bourne shell:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:136 #, no-wrap msgid "% export XDG_RUNTIME_DIR=/var/run/user/`id -u`\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:141 msgid "" "It is important to note that most compositors will search the " "XDG_RUNTIME_DIR directory for the configuration files. In the examples " "included here, a parameter will be used to specify a configuration file in " "[.filename]#~/.config# to keep temporary files and configuration files " "separate. It is recommended that an alias be configured for each compositor " "to load the designated configuration file." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:149 msgid "" "It has been reported that ZFS users may experience issues with some Wayland " "clients because they need access to `posix_fallocate()` in the runtime " "directory. While the author could not reproduce this issue on their ZFS " "system, a recommended workaround is not to use ZFS for the runtime directory " "and instead use `tmpfs` for the [.filename]#/var/run# directory. In this " "case, the `tmpfs` file system is used for [.filename]#/var/run# and mounted " "through the command `mount -t tmpfs tmpfs /var/run` command and then make " "this change persist across reboots through [.filename]#/etc/fstab#. The " "XDG_RUNTIME_DIR environment variable could be configured to use [.filename]#/" "var/run/user/$UID# and avoid potential pitfalls with ZFS. Consider that " "scenario when reviewing the configuration examples in the following sections." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:154 msgid "" "The seatd daemon helps manage access to shared system devices for non-root " "users in compositors; this includes graphics cards. For traditional X11 " "managers, `seatd` is not needed, such as both Plasma and GNOME, but for the " "Wayland compositors discussed here, it will need enabled on the system and " "be running before starting a compositor environment. To enable and start " "the `seatd` daemon now, and on system initialization:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:159 #, no-wrap msgid "" "# sysrc seatd_enable=\"YES\"\n" "# service seatd start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:163 msgid "" "Afterward, a compositor, which is similar to an X11 desktop, will need to be " "installed for the GUI environment. Three are discussed here, including " "basic configuration options, setting up a screen lock, and recommendations " "for more information." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/wayland/_index.adoc:165 #, no-wrap msgid "The Wayfire Compositor" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:170 msgid "" "Wayfire is a compositor that aims to be lightweight and customizable. " "Several features are available, and it brings back several elements from the " "previously released Compiz Fusion desktop. All of the parts look beautiful " "on modern hardware. To get Wayfire up and running, begin by installing the " "required packages:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:174 #, no-wrap msgid "# pkg install wayfire wf-shell alacritty swaylock-effects swayidle wlogout kanshi mako wlsunset\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:180 msgid "" "The `alacritty` package provides a terminal emulator. Still, it is not " "completely required as other terminal emulators such as `kitty`, and XFCE-4 " "`Terminal` have been tested and verified to work under the Wayfire " "compositor. Wayfire configuration is relatively simple; it uses a file that " "should be reviewed for any customizations. To begin, copy the example file " "over to the runtime environment configuration directory and then edit the " "file:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:185 #, no-wrap msgid "" "% mkdir ~/.config/wayfire\n" "% cp /usr/local/share/examples/wayfire/wayfire.ini ~/.config/wayfire\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:190 msgid "" "The defaults for most users should be fine. Within the configuration file, " "items like the famous `cube` are pre-configured, and there are instructions " "to help with the available settings. A few primary settings of note include:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:198 #, no-wrap msgid "" "[output]\n" "mode = 1920x1080@60000\n" "position = 0,0\n" "transform = normal\n" "scale = 1.000000\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:206 msgid "" "In this example, from the configuration file, the screen's output should be " "the listed mode at the listed hertz. For example, the mode should be set to " "`widthxheight@refresh_rate`. The position places the output at a specific " "pixel location specified. The default should be fine for most users. " "Finally, transform sets a background transform, and scale will scale the " "output to the specified scale factor. The defaults for these options are " "generally acceptable; for more information, see the documentation." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:210 msgid "" "As mentioned, Wayland is new, and not all applications work with the " "protocol yet. At this time, `sddm` does not appear to support starting and " "managing compositors in Wayland. The `swaylock` utility has been used " "instead in these examples. The configuration file contains options to run " "`swayidle` and `swaylock` for idle and locking of the screen." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:212 msgid "" "This option to define the action to take when the system is idle is listed " "as:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:216 #, no-wrap msgid "idle = swaylock\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:219 msgid "And the lock timeout is configured using the following lines:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:226 #, no-wrap msgid "" "[idle]\n" "toggle = KEY_Z\n" "screensaver_timeout = 300\n" "dpms_timeout = 600\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:229 msgid "" "The first option will lock the screen after 300 seconds, and after another " "300, the screen will shut off through the `dpms_timeout` option." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:237 msgid "" "One final thing to note is the key. Most of the configuration " "mentions this key, and it is the traditional `Windows` key on the keyboard. " "Most keyboards have this super key available; however, it should be remapped " "within this configuration file if it is not available. For example, to lock " "the screen, press and hold the super key, the kbd:[shift] key, and press the " "kbd:[escape] key. Unless the mappings have changed, this will execute the " "swaylock application. The default configuration for `swaylock` will show a " "grey screen; however, the application is highly customizable and well " "documented. In addition, since the swaylock-effects is the version that was " "installed, there are several options available such as the blur effect, " "which can be seen using the following command:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:241 #, no-wrap msgid "% swaylock --effect-blur 7x5\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:247 msgid "" "There is also the `--clock` parameter which will display a clock with the " "date and time on the lock screen. When package:x11/swaylock-effects[] was " "installed, a default [.filename]#pam.d# configuration was included. It " "provides the default options that should be fine for most users. More " "advanced options are available; see the PAM documentation for more " "information." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:250 msgid "" "At this point, it is time to test Wayfire and see if it can start up on the " "system. Just type the following command:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:254 #, no-wrap msgid "% wayfire -c ~/.config/wayfire/wayfire.ini\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:261 msgid "" "The compositor should now start and display a background image along with a " "menu bar at the top of the screen. Wayfire will attempt to list installed " "compatible applications for the desktop and present them in this drop-down " "menu; for example, if the XFCE-4 file manager is installed, it will show up " "in this drop-down menu. If a specific application is compatible and " "valuable enough for a keyboard shortcut, it may be mapped to a keyboard " "sequence using the [.filename]#wayfire.ini# configuration file. Wayfire " "also has a configuration tool named Wayfire Config Manager. It is located " "in the drop-down menu bar but may also be started through a terminal by " "issuing the following command:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:265 #, no-wrap msgid "% wcm\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:269 msgid "" "Various Wayfire configuration options, including the composite special " "effects, maybe enabled, disabled, or configured through this application. " "In addition, for a more user-friendly experience, a background manager, " "panel, and docking application may be enabled in the configuration file:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:275 #, no-wrap msgid "" "panel = wf-panel\n" "dock = wf-dock\n" "background = wf-background\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:281 msgid "" "Changes made through `wcm` will overwrite custom changes in the " "[.filename]#wayfire.ini# configuration file. The [.filename]#wayfire.ini# " "file is highly recommended to be backed up so any essential changes may be " "restored." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:284 msgid "" "Finally, the default launcher listed in the [.filename]#wayfire.ini# is " "package:x11/wf-shell[] which may be replaced with other panels if desired by " "the user." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/wayland/_index.adoc:286 #, no-wrap msgid "The Hikari Compositor" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:296 msgid "" "The Hikari compositor uses several concepts centered around productivity, " "such as sheets, workspaces, and more. In that way, it resembles a tiling " "window manager. Breaking this down, the compositor starts with a single " "workspace, which is similar to virtual desktops. Hikari uses a single " "workspace or virtual desktop for user interaction. The workspace is made up " "of several views, which are the working windows in the compositor grouped as " "either sheets or groups. Both sheets and groups are made up of a collection " "of views; again, the windows that are grouped together. When switching " "between sheets or groups, the active sheet or group will become known " "collectively as the workspace. The manual page will break this down into " "more information on the functions of each but for this document, just " "consider a single workspace utilizing a single sheet. Hikari installation " "will comprise of a single package, package:x11-wm/hikari[], and a terminal " "emulator `alacritty`:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:300 #, no-wrap msgid "# pkg install hikari alacritty\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:305 msgid "" "Other shells, such as `kitty` or the Plasma `Terminal`, will function under " "Wayland. Users should experiment with their favorite terminal editor to " "validate compatibility." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:310 msgid "" "Hikari uses a configuration file, [.filename]#hikari.conf#, which could " "either be placed in the XDG_RUNTIME_DIR or specified on startup using the `-" "c` parameter. An autostart configuration file is not required but may make " "the migration to this compositor a little easier. Beginning the " "configuration is to create the Hikari configuration directory and copy over " "the configuration file for editing:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:315 #, no-wrap msgid "" "% mkdir ~/.config/hikari\n" "% cp /usr/local/etc/hikari/hikari.conf ~/.config/hikari\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:321 msgid "" "The configuration is broken out into various stanzas such as ui, outputs, " "layouts, and more. For most users, the defaults will function fine; " "however, some important changes should be made. For example, the $TERMINAL " "variable is normally not set within the user's environment. Changing this " "variable or altering the [.filename]#hikari.conf# file to read:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:325 #, no-wrap msgid "terminal = \"/usr/local/bin/alacritty\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:333 msgid "" "Will launch the `alacritty` terminal using the bound key press. While going " "through the configuration file, it should be noted that the capital letters " "are used to map keys out for the user. For example, the kbd:[L] key for " "starting the terminal kbd:[L+Return] is actually the previously discussed " "super key or Windows logo key. Therefore, holding the kbd:[L/super/Windows] " "key and pressing kbd:[Enter] will open the specified terminal emulator with " "the default configuration. Mapping other keys to applications require an " "action definition to be created. For this, the action item should be listed " "in the actions stanza, for example:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:340 #, no-wrap msgid "" "actions {\n" " terminal = \"/usr/local/bin/alacritty\"\n" " browser = \"/usr/local/bin/firefox\"\n" "}\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:343 msgid "" "Then an action may be mapped under the keyboard stanza, which is defined " "within the bindings stanza:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:352 #, no-wrap msgid "" "bindings {\n" " keyboard {\n" "SNIP\n" " \"L+Return\" = action-terminal\n" " \"L+b\" = action-browser\n" "SNIP\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:358 msgid "" "After Hikari is restarted, holding the Windows logo button and pressing the " "kbd:[b] key on the keyboard will start the web browser. The compositor does " "not have a menu bar, and it is recommended the user set up, at minimal, a " "terminal emulator before migration. The manual page contains a great deal " "of documentation it should be read before performing a full migration. " "Another positive aspect about Hikari is that, while migrating to the " "compositor, Hikari can be started in the Plasma and GNOME desktop " "environments, allowing for a test-drive before completely migrating." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:365 msgid "" "Locking the screen in Hikari is easy because a default [.filename]#pam.d# " "configuration file and unlock utility are bundled with the package. The key " "binding for locking the screen is kbd:[L] (Windows logo key)+ kbd:[Shift] + " "kbd:[Backspace]. It should be noted that all views not marked public will " "be hidden. These views will never accept input when locked but beware of " "sensitive information being visible. For some users, it may be easier to " "migrate to a different screen locking utility such as swaylock-effects, " "discussed in this section. To start Hikari, use the following command:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:369 #, no-wrap msgid "% hikari -c ~/.config/hikari/hikari.conf\n" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/wayland/_index.adoc:372 #, no-wrap msgid "The Sway Compositor" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:376 msgid "" "The Sway compositor is a tiling compositor that attempts to replace the i3 " "windows manager. It should work with the user's current i3 configuration; " "however, new features may require some additional setup." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:380 msgid "" "Before starting the Sway installation, ensure that a graphics card (GPU) is " "installed and configured correctly. Refer to the section crossref:x11[x-" "graphic-card-drivers,drivers for your graphics hardware] for guidance. This " "step is essential for the Sway compositor to function properly." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:383 msgid "" "In the forthcoming examples, a fresh installation without migrating any i3 " "configuration will be assumed. To install Sway and valuable components, " "issue the following command as the root user:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:387 #, no-wrap msgid "# pkg install sway swayidle swaylock-effects alacritty dmenu-wayland dmenu\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:390 msgid "" "For a basic configuration file, issue the following commands and then edit " "the configuration file after it is copied:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:395 #, no-wrap msgid "" "% mkdir ~/.config/sway\n" "% cp /usr/local/etc/sway/config ~/.config/sway\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:399 msgid "" "The base configuration file has many defaults, which will be fine for most " "users. Several important changes should be made like the following:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:415 #, no-wrap msgid "" "# Logo key. Use Mod1 for Alt.\n" "input * xkb_rules evdev\n" "set $mod Mod4\n" "# Your preferred terminal emulator\n" "set $term alacritty\n" "set $lock swaylock -f -c 000000\n" "output \"My Workstation\" mode 1366x768@60Hz position 1366 0\n" "output * bg ~/wallpapers/mywallpaper.png stretch\n" "### Idle configuration\n" "exec swayidle -w \\\n" " timeout 300 'swaylock -f -c 000000' \\\n" " timeout 600 'swaymsg \"output * dpms off\"' resume 'swaymsg \"output * dpms on\"' \\\n" " before-sleep 'swaylock -f -c 000000'\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:425 msgid "" "In the previous example, the `xkb` rules for man:evdev[4] events are loaded, " "and the $mod key is set to the Windows logo key for the key bindings. Next, " "the terminal emulator was set to be `alacritty`, and a screen lock command " "was defined; more on this later. The output keyword, the mode, the " "position, a background wallpaper, and Sway is also told to stretch this " -"wallpaper to fill out the screen. Finally, `swaylock` is set to daemonize " +"wallpaper to fill out the screen. Finally, `swayidle` is set to daemonize " "and lock the screen after a timeout of 300 seconds, placing the screen or " "monitor into sleep mode after 600 seconds. The locked background color of " "000000, which is black, is also defined here. Using swaylock-effects, a " "clock may also be displayed with the `--clock` parameter. See the manual " "page for more options. The man:sway-output[5] manual page should also be " "reviewed; it includes a great deal of information on customing the output " "options available." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:433 msgid "" "While in Sway, to bring up a menu of applications, hold the Windows logo key " "(mod) and press the kbd:[d] key. The menu may be navigated using the arrow " "keys on the keyboard. There is also a method to manipulate the layout of " "the bar and add a tray; read the man:sway-bar[5] manual page for more " "information. The default configuration adds a date and time to the upper " "right-hand corner. See the `Bar` stanza in the configuration file for an " "example. By default, the configuration does not include locking the screen " "outside of the example above, enabling a lockout timer. Creating a lock key " "binding requires the following line to the `Key bindings` section:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:438 #, no-wrap msgid "" "# Lock the screen manually\n" "bindsym $mod+Shift+Return exec $lock\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:444 msgid "" "Now the screen may be locked using the combination of holding the Windows " "logo key, pressing and holding shift, and finally pressing return. When " "Sway is installed, whether from a package or the FreeBSD Ports Collection, a " "default file for [.filename]#pam.d# was installed. The default " "configuration should be acceptable for most users, but more advanced options " "are available. Read through the PAM documentation for more information." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:450 msgid "" "Finally, to exit Sway and return to the shell, hold the Windows logo key, " "the shift key, and press the kbd:[e] key. A prompt will be displayed with " "an option to exit Sway. During migration, Sway can be started through a " "terminal emulator on an X11 desktop such as Plasma. This makes testing " "different changes and key bindings a little easier prior to fully migrating " "to this compositor. To start Sway, issue the following command:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:454 #, no-wrap msgid "% sway -c ~/.config/sway/config\n" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/wayland/_index.adoc:457 #, no-wrap msgid "Using Xwayland" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:461 msgid "" "When installing Wayland, the `Xwayland` binary should have been installed " "unless Wayland was built without X11 support. If the [.filename]#/usr/local/" "bin/Xwayland# file does not exist, install it using the following command:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:465 #, no-wrap msgid "# pkg install xwayland\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:471 msgid "" "The development version of Xwayland is recommended and was most likely " "installed with the Wayland package. Each compositor has a method of " "enabling or disabling this feature." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:475 msgid "" "Once `Xwayland` has been installed, configure it within the chosen " "compositor. For Wayfire, the following line is required in the " "[.filename]#wayfire.ini# file:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:479 #, no-wrap msgid "xwayland = true\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:483 msgid "" "For the Sway compositor, `Xwayland` should be enabled by default. Even so, " "it is recommended to manually add a configuration line in the " "[.filename]#~/.config/sway/config# like the following:" msgstr "" #. type: delimited block . 5 #: documentation/content/en/books/handbook/wayland/_index.adoc:487 #, no-wrap msgid "xwayland enable\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:492 msgid "" "Finally, for Hikari, no changes are needed. Support for `Xwayland` is build " "in by default. To disable that support, rebuild the package from the ports " "collection and disable Xwayland support at that time." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:496 msgid "" "After these changes are made, start the compositor at the command line and " "execute a terminal from the key bindings. Within this terminal, issue the " "`env` command and search for the `DISPLAY` variables. If the compositor was " "able to properly start the Xwayland X server, these environment variables " "should look similar to the following:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:500 #: documentation/content/en/books/handbook/wayland/_index.adoc:530 #, no-wrap msgid "% env | grep DISPLAY\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:506 #, no-wrap msgid "" "WAYLAND_DISPLAY=wayland-1\n" "DISPLAY=:0\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:512 msgid "" "In this output, there is a default Wayland display and a display set for the " "Xwayland server. Another method to verify that `Xwayland` is functioning " "properly is to use install and test the small package:[x11/eyes] and check " "the output. If the `xeyes` application starts and the eyes follow the mouse " "pointer, Xwayland is functioning properly. If an error such as the " "following is displayed, something happened during the `Xwayland` " "initialization and it may need reinstalled:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:516 #, no-wrap msgid "Error: Cannot open display wayland-0\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:522 msgid "" "A security feature of Wayland is that, without running an X server, there is " "not another network listener. Once `Xwayland` is enabled, this security " "feature is no longer applicable to the system." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:526 msgid "" "For some compositors, such as Wayfire, `Xwayland` may not start properly. " "As such, `env` will show the following information for the `DISPLAY` " "environment variables:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:536 #, no-wrap msgid "" "DISPLAY=wayland-1\n" "WAYLAND_DISPLAY=wayland-1\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:541 msgid "" "Even though `Xwayfire` was installed and configured, X11 applications will " "not start giving a display issue. To work around this, verify that there is " "already an instance of `Xwayland` using a UNIX socket through these two " "methods. First, check the output from `sockstat` and search for X11-unix:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:545 #, no-wrap msgid "% sockstat | grep x11\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:548 msgid "There should be something similar to the following information:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:556 #, no-wrap msgid "" "trhodes Xwayland 2734 8 stream /tmp/.X11-unix/X0\n" "trhodes Xwayland 2734 9 stream /tmp/.X11-unix/X0\n" "trhodes Xwayland 2734 10 stream /tmp/.X11-unix/X0\n" "trhodes Xwayland 2734 27 stream /tmp/.X11-unix/X0_\n" "trhodes Xwayland 2734 28 stream /tmp/.X11-unix/X0\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:560 msgid "" "This suggests the existence of an X11 socket. This can be further verified " "by attempting to execute `Xwayland` manually within a terminal emulator " "running under the compositor:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:564 #, no-wrap msgid "% Xwayland\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:567 msgid "" "If an X11 socket is already available, the following error should be " "presented to the user:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:576 #, no-wrap msgid "" "(EE)\n" "Fatal server error:\n" "(EE) Server is already active for display 0\n" "\tIf this server is no longer running, remove /tmp/.X0-lock\n" "\tand start again.\n" "(EE)\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:580 msgid "" "Since there is an active X display available using display zero, the " "environment variable was just set improperly, to fix this, change the " "`DISPLAY` environment variable to `:0` and attempt to execute the " "application again. The following example uses package:mail/claws-mail[] as " "the application which needs the `Xwayland` service:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:584 #, no-wrap msgid "export DISPLAY=:0\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:587 msgid "" "After this change, the package:mail/claws-mail[] application should now " "start using `Xwayland` and function as expected." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/wayland/_index.adoc:589 #, no-wrap msgid "Remote Desktop Using VNC" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:595 msgid "" "Earlier in this document it was noted that Wayland does not provide the same " "X server style access as Xorg provides. Instead, users are free to pick and " "choose a remote desktop protocol such as RDP or VNC. The FreeBSD Ports " "collection includes the `wayvnc`, which will support wlroots based " "compositors such as the ones discussed here. This application may be " "installed using:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:599 #, no-wrap msgid "# pkg install wayvnc\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:603 msgid "" "Unlike some other packages, `wayvnc` does not come with a configuration " "file. Thankfully, the manual page documents the important options and they " "may be extrapolated into a simple configuration file:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:612 #, no-wrap msgid "" "address=0.0.0.0\n" "enable_auth=true\n" "username=username\n" "password=password\n" "private_key_file=/path/to/key.pem\n" "certificate_file=/path/to/cert.pem\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:618 msgid "" "The key files will need to be generated, and it is highly recommended they " "be used for increased security of the connection. When invoked, wayvnc will " "search for the configuration file in [.filename]#~/.config/wayvnc/config#. " "This could be overwritten using the `-C configuration_file` option when " "starting the server. Thus, to start the `wayvnc` server, issue the " "following command:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:622 #, no-wrap msgid "% wayvnc -C ~/.config/wayvnc/config\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:629 msgid "" "At the time of this writing, there is no rc.d script to start `wayvnc` on " "system initialization. If that functionality is desired, a local startup " "file will need to be created. This is probably a feature request for the " "port maintainer." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/wayland/_index.adoc:632 #, no-wrap msgid "Wayland Login Manager" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:636 msgid "" "While several login managers exist and are slowly migrating to Wayland, one " "option is the package:x11/ly[] text user interface (TUI) manager. Needing " "minimal configuration, `ly` will start Sway, Wayfire, and others by " "presenting a login window on system initialization. To install `ly`, issue " "the following command:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:640 #, no-wrap msgid "# pkg install ly\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:643 msgid "" "There will be some configuration hints presented, the import steps are to " "add the following lines to [.filename]#/etc/gettytab#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:649 #, no-wrap msgid "" "Ly:\\\n" " :lo=/usr/local/bin/ly:\\\n" " :al=root:\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:652 msgid "" "And then modify the ttyv1 line in [.filename]#/etc/ttys# to match the " "following line:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:656 #, no-wrap msgid "ttyv1 \"/usr/libexec/getty Ly\" xterm onifexists secure\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:661 msgid "" "After a system reboot, a login should appear. To configure specific " "settings, such as language and edit [.filename]#/usr/local/etc/ly/" "config.ini#. At minimal, this file should have the designated tty that was " "previously specified in [.filename]#/etc/ttys#." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:665 msgid "" "If setting ttyv0 up as the login terminal, it may be required to press the " "kbd:[alt] and kbd:[F1] keys to properly see the login window." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:668 msgid "" "When the login window appears, using the left and right arrows will swap " "through different, supported, window managers." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/wayland/_index.adoc:670 #, no-wrap msgid "Useful Utilities" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:676 msgid "" "One useful Wayland utility which all compositors can make use of is the " "waybar. While Wayfire does come with a launch menu, an easy-to-use and fast " "taskbar is a good accessory for any compositor or desktop manager. A " "Wayland compatible taskbar that is fast and easy to configure is waybar. To " "install the package and a supporting audio control utility, issue the " "following command:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:680 #, no-wrap msgid "# pkg install pavucontrol waybar\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:683 msgid "" "To create the configuration directory and copy over a default configuration " "file, execute the following commands:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:688 #, no-wrap msgid "" "% mkdir ~/.config/waybar\n" "% cp /usr/local/etc/xdg/waybar/config ~/.config/waybar\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:692 msgid "" "The `lavalauncher` utility provides a launch bar for various applications. " "There is no example configuration file provided with the package, so the " "following actions must be taken:" msgstr "" #. type: delimited block - 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:696 #, no-wrap msgid "mkdir ~/.config/lavalauncher\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/wayland/_index.adoc:699 msgid "" "An example configuration file that only includes Firefox, and is placed on " "the right, is below:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:705 #, no-wrap msgid "" "global-settings {\n" "\twatch-config-file = true;\n" "}\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:710 #, no-wrap msgid "" "bar {\n" "\toutput = eDP-1;\n" "\tposition = bottom;\n" "\tbackground-colour = \"#202020\";\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:713 #, no-wrap msgid "" "\t# Condition for the default configuration set.\n" "\tcondition-resolution = wider-than-high;\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:717 #, no-wrap msgid "" "\tconfig {\n" "\t\tposition = right;\n" "\t}\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/wayland/_index.adoc:726 #, no-wrap msgid "" "\tbutton {\n" "\t\timage-path = /usr/local/lib/firefox/browser/chrome/icons/default/default48.png;\n" "\t\tcommand[mouse-left] = /usr/local/bin/firefox;\n" "\t}\n" "\tbutton {\n" "\t image-path = /usr/local/share/pixmaps/thunderbird.png;\n" "\t command[mouse-left] = /usr/local/bin/thunderbird;\n" "}\n" msgstr "" diff --git a/documentation/content/en/books/handbook/x11/_index.po b/documentation/content/en/books/handbook/x11/_index.po index 48ff0d5027..d1dee6450e 100644 --- a/documentation/content/en/books/handbook/x11/_index.po +++ b/documentation/content/en/books/handbook/x11/_index.po @@ -1,1461 +1,1461 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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/x11/_index.adoc:1 #, no-wrap msgid "This chapter describes how to install and configure Xorg on FreeBSD, which provides the open source X Window System used to provide a graphical environment" msgstr "" #. type: YAML Front Matter: part #: documentation/content/en/books/handbook/x11/_index.adoc:1 #, no-wrap msgid "Part I. Getting Started" msgstr "" #. type: YAML Front Matter: title #: documentation/content/en/books/handbook/x11/_index.adoc:1 #, no-wrap msgid "Chapter 5. The X Window System" msgstr "" #. type: Title = #: documentation/content/en/books/handbook/x11/_index.adoc:15 #, no-wrap msgid "The X Window System" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/x11/_index.adoc:53 #, no-wrap msgid "Synopsis" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:58 msgid "" "An installation of FreeBSD using bsdinstall does not automatically install a " "graphical user interface. This chapter describes how to install and " "configure Xorg, which provides the open source X Window System used to " "provide a graphical environment. It then describes how to find and install " "a desktop environment or window manager." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:60 msgid "Before reading this chapter, you should:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:62 msgid "" "Know how to install additional third-party software as described in " "crossref:ports[ports,Installing Applications: Packages and Ports]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:64 msgid "After reading this chapter, you will know:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:66 msgid "" "The various components of the X Window System, and how they interoperate." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:67 msgid "How to install and configure Xorg." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:68 msgid "How to use TrueType(R) fonts in Xorg." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:69 msgid "How to set up your system for graphical logins (XDM)." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/x11/_index.adoc:71 #, no-wrap msgid "Installing Xorg" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:74 msgid "On FreeBSD, Xorg can be installed as a package or port." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:76 msgid "" "The binary meta package can be installed quickly but with fewer options for " "customization:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:80 #, no-wrap msgid "# pkg install xorg\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:83 msgid "" "Either of these installations results in the complete Xorg system being " "installed." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:86 msgid "" "The current user must be a member of the `video` group. To add a user to " "`video` group, execute the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:90 #, no-wrap msgid "# pw groupmod video -m username\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:97 msgid "" "A smaller version of the X system suitable for experienced users is " "available in package:x11/xorg-minimal[]. Most of the documents, libraries, " "and applications will not be installed. Some applications require these " "additional components to function." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:103 msgid "" "Video cards, monitors, and input devices are automatically detected and do " "not require any manual configuration. Do not create `xorg.conf` or run a `-" "configure` step unless automatic configuration fails." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/x11/_index.adoc:106 #, no-wrap msgid "Graphic card drivers" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:109 msgid "" "The following table shows the different graphics cards supported by FreeBSD, " "which package should be installed and its corresponding module." msgstr "" #. type: Block title #: documentation/content/en/books/handbook/x11/_index.adoc:110 #, no-wrap msgid "Graphic card packages" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:113 #, no-wrap msgid "Brand" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:113 #, no-wrap msgid "Type" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:113 #: documentation/content/en/books/handbook/x11/_index.adoc:249 #, no-wrap msgid "Package" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:115 #, no-wrap msgid "Module" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:116 #: documentation/content/en/books/handbook/x11/_index.adoc:191 #, no-wrap msgid "Intel(R)" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:117 #: documentation/content/en/books/handbook/x11/_index.adoc:122 #: documentation/content/en/books/handbook/x11/_index.adoc:132 #: documentation/content/en/books/handbook/x11/_index.adoc:137 #: documentation/content/en/books/handbook/x11/_index.adoc:142 #: documentation/content/en/books/handbook/x11/_index.adoc:147 #, no-wrap msgid "Open Source" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:118 #: documentation/content/en/books/handbook/x11/_index.adoc:123 #, no-wrap msgid "drm-kmod" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:120 #, no-wrap msgid "`i915kms`" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:121 #: documentation/content/en/books/handbook/x11/_index.adoc:212 #, no-wrap msgid "AMD(R)" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:125 #, no-wrap msgid "`amdgpu` and `radeonkms`" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:126 #: documentation/content/en/books/handbook/x11/_index.adoc:240 #, no-wrap msgid "NVIDIA(R)" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:127 #, no-wrap msgid "Proprietary" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:128 #, no-wrap msgid "nvidia-driver" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:130 #, no-wrap msgid "`nvidia` or `nvidia-modeset`" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:131 #, no-wrap msgid "VESA" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:133 #, no-wrap msgid "xf86-video-vesa" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:135 #, no-wrap msgid "vesa" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:136 #, no-wrap msgid "SCFB" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:138 #, no-wrap msgid "xf86-video-scfb" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:140 #, no-wrap msgid "scfb" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:141 #, no-wrap msgid "VirtualBox(R)" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:143 #, no-wrap msgid "virtualbox-ose-additions" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:145 #, no-wrap msgid "VirtualBox(R) OSE additions include the `vboxvideo` driver." msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:146 #, no-wrap msgid "VMware(R)" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:148 #, no-wrap msgid "xf86-video-vmware" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:150 #, no-wrap msgid "vmwgfx" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:153 msgid "" "The following command can be used to identify which graphics card is " "installed in the system:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:157 #, no-wrap msgid "% pciconf -lv|grep -B4 VGA\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:160 #: documentation/content/en/books/handbook/x11/_index.adoc:183 #: documentation/content/en/books/handbook/x11/_index.adoc:430 #: documentation/content/en/books/handbook/x11/_index.adoc:487 msgid "The output should be similar to the following:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:168 #, no-wrap msgid "" "vgapci0@pci0:0:2:0: class=0x030000 rev=0x07 hdr=0x00 vendor=0x8086 device=0x2a42 subvendor=0x17aa subdevice=0x20e4\n" " vendor = 'Intel Corporation'\n" " device = 'Mobile 4 Series Chipset Integrated Graphics Controller'\n" " class = display\n" " subclass = VGA\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:174 msgid "" "If the graphics card is not supported by Intel(R), AMD(R) or NVIDIA(R) " "drivers, then VESA or SCFB modules should be used. VESA module must be used " "when booting in BIOS mode and SCFB module must be used when booting in UEFI " "mode." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:176 msgid "This command can be used to check the booting mode:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:180 #, no-wrap msgid "% sysctl machdep.bootmethod\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:187 #, no-wrap msgid "machdep.bootmethod: BIOS\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:195 msgid "" "Intel(R) Graphics refers to the class of graphics chips that are integrated " "on the same die as an Intel(R) CPU. Wikipedia offers link:https://" "en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units[a good " "overview of the variations and names used for generations of Intel HD " "Graphics]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:198 msgid "" "The package:graphics/drm-kmod[] package indirectly provides a range of " "kernel modules for use with Intel(R) Graphics cards. The Intel(R) driver " "can be installed by executing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:202 #: documentation/content/en/books/handbook/x11/_index.adoc:223 #, no-wrap msgid "# pkg install drm-kmod\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:205 #: documentation/content/en/books/handbook/x11/_index.adoc:281 msgid "" "Then add the module to `/etc/rc.conf` file, executing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:209 #, no-wrap msgid "# sysrc kld_list+=i915kms\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:217 msgid "" "The package:graphics/drm-kmod[] package indirectly provides a range of " "kernel modules for use with AMD(R) Graphics cards. The modules `amdgpu` and " "`radeonkms` can be used depending the generation of the hardware. The " "FreeBSD project maintains an link:https://wiki.freebsd.org/Graphics/AMD-GPU-" "Matrix[AMD graphics support matrix to determine which driver must be used]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:219 msgid "AMD(R) driver can be installed by executing the following command:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:226 msgid "" "For post-HD7000 or Tahiti graphic cards add the module to `/etc/rc.conf` " "file, executing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:230 #, no-wrap msgid "# sysrc kld_list+=amdgpu\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:233 msgid "" "For older graphic cards (pre-HD7000 or pre-Tahiti) add the module to `/etc/" "rc.conf` file, executing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:237 #, no-wrap msgid "# sysrc kld_list+=radeonkms\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:245 msgid "" "FreeBSD supports different versions of the proprietary NVIDIA(R) driver. " "Users of newer graphics cards should install the package:x11/nvidia-driver[] " "package. Those with older cards will have to check below which version " "supports them." msgstr "" #. type: Block title #: documentation/content/en/books/handbook/x11/_index.adoc:246 #, no-wrap msgid "Supported versions of NVIDIA(R) drivers" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:251 #, no-wrap msgid "Supported hardware" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:252 #, no-wrap -msgid "x11/nvidia-driver-304" +msgid "package:x11/nvidia-driver-304[]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:254 #, no-wrap msgid "link:https://www.nvidia.com/Download/driverResults.aspx/123712/en-us/[supported hardware]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:255 #, no-wrap -msgid "x11/nvidia-driver-340" +msgid "package:x11/nvidia-driver-340[]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:257 #, no-wrap msgid "link:https://www.nvidia.com/Download/driverResults.aspx/156167/en-us/[supported hardware]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:258 #, no-wrap -msgid "x11/nvidia-driver-390" +msgid "package:x11/nvidia-driver-390[]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:260 #, no-wrap msgid "link:https://www.nvidia.com/Download/driverResults.aspx/191122/en-us/[supported hardware]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:261 #, no-wrap -msgid "x11/nvidia-driver-470" +msgid "package:x11/nvidia-driver-470[]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:263 #, no-wrap msgid "link:https://www.nvidia.com/Download/driverResults.aspx/194639/en-us/[supported hardware]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:264 #, no-wrap -msgid "x11/nvidia-driver" +msgid "package:x11/nvidia-driver[]" msgstr "" #. type: Table #: documentation/content/en/books/handbook/x11/_index.adoc:266 #, no-wrap msgid "link:https://www.nvidia.com/Download/driverResults.aspx/210651/en-us/[supported hardware]" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:271 msgid "" -"Version 304 of the NVIDIA(R) graphics driver (nvidia-driver-304) does not " -"support xorg-server 1.20 or later." +"Version 304 of the NVIDIA(R) graphics driver (package:x11/nvidia-" +"driver-304[]) does not support xorg-server 1.20 or later." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:274 msgid "" "The latest NVIDIA(R) driver can be installed by running the following " "command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:278 #, no-wrap msgid "# pkg install nvidia-driver\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:285 #, no-wrap msgid "# sysrc kld_list+=nvidia-modeset\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:290 msgid "" -"The `nvidia` driver must be used if the packages x11/nvidia-driver-304 or " -"x11/nvidia-driver-340 have been installed." +"The `nvidia` driver must be used if the packages package:x11/nvidia-" +"driver-304[] or package:x11/nvidia-driver-340[] have been installed." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:294 #, no-wrap msgid "# sysrc kld_list+=nvidia\n" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/x11/_index.adoc:298 #, no-wrap msgid "Xorg Configuration" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:301 msgid "Xorg supports most common video cards, keyboards, and pointing devices." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:306 msgid "" "Video cards, monitors, and input devices are automatically detected and do " "not require any manual configuration. Do not create [.filename]#xorg.conf# " "or run a `Xorg -configure` step unless automatic configuration fails." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:309 #, no-wrap msgid "Configuration Files" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:314 msgid "" "Xorg looks in several directories for configuration files. [.filename]#/usr/" "local/etc/X11/# is the *recommended* directory for these files on FreeBSD. " "Using this directory helps keep application files separate from operating " "system files." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:316 #, no-wrap msgid "Single or Multiple Files" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:320 msgid "" "It is easier to use multiple files that each configure a specific setting " "than the traditional single [.filename]#xorg.conf#. These files are stored " "in the [.filename]#/usr/local/etc/X11/xorg.conf.d/# subdirectory." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:324 msgid "" "The traditional single [.filename]#xorg.conf# still works, but is neither as " "clear nor as flexible as multiple files in the [.filename]#/usr/local/etc/" "X11/xorg.conf.d/# subdirectory." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:327 #, no-wrap msgid "Video Cards" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:330 msgid "" "The driver for the graphics card can be specified in the [.filename]#/usr/" "local/etc/X11/xorg.conf.d/# directory." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:332 msgid "To configure the Intel(R) driver in a configuration file:" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/x11/_index.adoc:334 #, no-wrap msgid "Select Intel(R) Video Driver in a File" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:338 msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-intel.conf#" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:345 #, no-wrap msgid "" "Section \"Device\"\n" "\tIdentifier \"Card0\"\n" "\tDriver \"intel\"\n" "EndSection\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:349 msgid "To configure the AMD(R) driver in a configuration file:" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/x11/_index.adoc:351 #, no-wrap msgid "Select AMD(R) Video Driver in a File" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:355 msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-radeon.conf#" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:362 #, no-wrap msgid "" "Section \"Device\"\n" "\tIdentifier \"Card0\"\n" "\tDriver \"radeon\"\n" "EndSection\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:366 msgid "To configure the NVIDIA(R) driver in a configuration file:" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/x11/_index.adoc:368 #, no-wrap msgid "Select NVIDIA(R) Video Driver in a File" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:372 msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-nvidia.conf#" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:379 #, no-wrap msgid "" "Section \"Device\"\n" "\tIdentifier \"Card0\"\n" "\tDriver \"nvidia\"\n" "EndSection\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:385 msgid "" "package:x11/nvidia-xconfig[] can also be used to perform basic control over " "configuration options available in the NVIDIA driver." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:388 msgid "To configure the VESA driver in a configuration file:" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/x11/_index.adoc:390 #, no-wrap msgid "Select VESA Video Driver in a File" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:394 msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-vesa.conf#" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:401 #, no-wrap msgid "" "Section \"Device\"\n" "\tIdentifier \"Card0\"\n" "\tDriver \"vesa\"\n" "EndSection\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:405 msgid "To configure the SCFB driver in a configuration file:" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/x11/_index.adoc:407 #, no-wrap msgid "Select SCFB Video Driver in a File" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:411 msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-scfb.conf#" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:418 #, no-wrap msgid "" "Section \"Device\"\n" "\tIdentifier \"Card0\"\n" "\tDriver \"scfb\"\n" "EndSection\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:423 msgid "" "To configure multiple video cards, the `BusID` can be added. A list of " "video card bus ``ID``s can be displayed by executing:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:427 #, no-wrap msgid "% pciconf -lv | grep -B3 display\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:437 #, no-wrap msgid "" "vgapci0@pci0:0:2:0: class=0x030000 rev=0x07 hdr=0x00 vendor=0x8086 device=0x2a42 subvendor=0x17aa subdevice=0x20e4\n" " vendor = 'Intel Corporation'\n" " device = 'Mobile 4 Series Chipset Integrated Graphics Controller'\n" " class = display\n" "--\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:442 #, no-wrap msgid "" "vgapci1@pci0:0:2:1: class=0x038000 rev=0x07 hdr=0x00 vendor=0x8086 device=0x2a43 subvendor=0x17aa subdevice=0x20e4\n" " vendor = 'Intel Corporation'\n" " device = 'Mobile 4 Series Chipset Integrated Graphics Controller'\n" " class = display\n" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/x11/_index.adoc:445 #, no-wrap msgid "Select Intel(R) Video Driver and NVIDIA(R) Video Driver in a File" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:450 msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/20-drivers.conf#" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:458 #, no-wrap msgid "" "Section \"Device\"\n" "\tIdentifier \"Card0\"\n" "\tDriver \"intel\"\n" "\tBusID \"pci0:0:2:0\"\n" "EndSection\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:464 #, no-wrap msgid "" "Section \"Device\"\n" "\tIdentifier \"Card0\"\n" "\tDriver \"nvidia\"\n" "\tBusID \"pci0:0:2:1\"\n" "EndSection\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:468 #, no-wrap msgid "Monitors" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:473 msgid "" "Almost all monitors support the Extended Display Identification Data " "standard (`EDID`). Xorg uses `EDID` to communicate with the monitor and " "detect the supported resolutions and refresh rates. Then it selects the " "most appropriate combination of settings to use with that monitor." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:475 msgid "" "Other resolutions supported by the monitor can be chosen by setting the " "desired resolution in configuration files, or after the X server has been " "started with man:xrandr[1]." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/x11/_index.adoc:477 #, no-wrap msgid "Using RandR (Resize and Rotate)" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:480 msgid "" "Run man:xrandr[1] without any parameters to see a list of video outputs and " "detected monitor modes:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:484 #, no-wrap msgid "% xrandr\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:518 #, no-wrap msgid "" "Screen 0: minimum 320 x 200, current 2560 x 960, maximum 8192 x 8192\n" "LVDS-1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 261mm x 163mm\n" " 1280x800 59.99*+ 59.81 59.91 50.00 \n" " 1280x720 59.86 59.74 \n" " 1024x768 60.00 \n" " 1024x576 59.90 59.82 \n" " 960x540 59.63 59.82 \n" " 800x600 60.32 56.25 \n" " 864x486 59.92 59.57 \n" " 640x480 59.94 \n" " 720x405 59.51 58.99 \n" " 640x360 59.84 59.32 \n" "VGA-1 connected primary 1280x960+1280+0 (normal left inverted right x axis y axis) 410mm x 257mm\n" " 1280x1024 75.02 60.02 \n" " 1440x900 74.98 60.07 \n" " 1280x960 60.00* \n" " 1280x800 74.93 59.81 \n" " 1152x864 75.00 \n" " 1024x768 75.03 70.07 60.00 \n" " 832x624 74.55 \n" " 800x600 72.19 75.00 60.32 56.25 \n" " 640x480 75.00 72.81 66.67 59.94 \n" " 720x400 70.08 \n" "HDMI-1 disconnected (normal left inverted right x axis y axis)\n" "DP-1 disconnected (normal left inverted right x axis y axis)\n" "HDMI-2 disconnected (normal left inverted right x axis y axis)\n" "DP-2 disconnected (normal left inverted right x axis y axis)\n" "DP-3 disconnected (normal left inverted right x axis y axis)\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:523 msgid "" "This shows that the `VGA-1` output is being used to display a screen " "resolution of 1280x960 pixels at a refresh rate of about 60 Hz. The " "`LVDS-1` is being used as a secondary monitor to display a screen resolution " "of 1280x800 pixels at a refresh rate of about 60 Hz. Monitors are not " "attached to the `HDMI-1`, `HDMI-2`, `DP-1`, `DP-2` and `DP-3` connectors." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:526 msgid "" "Any of the other display modes can be selected with man:xrandr[1]. For " "example, to switch to 1280x1024 at 60 Hz:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:530 #, no-wrap msgid "% xrandr --output LVDS-1 --mode 1280x720 --rate 60\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/x11/_index.adoc:533 #, no-wrap msgid "Using the Xorg configuration file" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:536 msgid "The monitor configuration can also be set in a configuration file." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:538 msgid "To set a screen resolution of 1024x768 in a configuration file:" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/x11/_index.adoc:539 #, no-wrap msgid "Set Screen Resolution in a File" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:543 msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/10-monitor.conf#" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:553 #, no-wrap msgid "" "Section \"Screen\"\n" "\tIdentifier \"Screen0\"\n" "\tDevice \"Card0\"\n" "\tSubSection \"Display\"\n" "\tModes \"1024x768\"\n" "\tEndSubSection\n" "EndSection\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:557 #, no-wrap msgid "Input Devices" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:560 msgid "" "Xorg supports the vast majority of input devices via package:x11/libinput[]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:565 msgid "" "Some desktop environments (such as KDE Plasma) provide a graphical UI for " "setting these parameters. Check if this is the case before resorting to " "manual configuration editing." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:569 msgid "For example, to configure the keyboard layout:" msgstr "" #. type: Block title #: documentation/content/en/books/handbook/x11/_index.adoc:570 #, no-wrap msgid "Setting a Keyboard Layout" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:574 msgid "[.filename]#/usr/local/etc/X11/xorg.conf.d/00-keyboard.conf#" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:585 #, no-wrap msgid "" "Section \"InputClass\"\n" " Identifier \"Keyboard1\"\n" " MatchIsKeyboard \"on\"\n" " Option \"XkbLayout\" \"es, fr\"\n" " Option \"XkbModel\" \"pc104\"\n" " Option \"XkbVariant\" \",qwerty\"\n" " Option \"XkbOptions\" \"grp:win_space_toggle\"\n" "EndSection\n" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/x11/_index.adoc:589 #, no-wrap msgid "Using Fonts in Xorg" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:594 msgid "" "The default fonts that ship with Xorg are less than ideal for typical " "desktop publishing applications. Large presentation fonts show up jagged " "and unprofessional looking, and small fonts are almost completely " "unintelligible. However, there are several free, high quality Type1 " "(PostScript(R)) fonts available which can be readily used with Xorg." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:596 #, no-wrap msgid "Type1 Fonts" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:602 msgid "" "The URW font collection (package:x11-fonts/urwfonts[]) includes high quality " "versions of standard type1 fonts (Times Roman(TM), Helvetica(TM), " "Palatino(TM) and others). The Freefonts collection (package:x11-fonts/" "freefonts[]) includes many more fonts, but most of them are intended for use " "in graphics software such as the Gimp, and are not complete enough to serve " "as screen fonts. In addition, Xorg can be configured to use TrueType(R) " "fonts with a minimum of effort. For more details on this, see the man:X[7] " "manual page or crossref:x11[truetype, TrueType(R) Fonts]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:604 msgid "" "To install the above Type1 font collections from binary packages, run the " "following commands:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:608 #, no-wrap msgid "# pkg install urwfonts\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:612 msgid "" "And likewise with the freefont or other collections. To have the X server " "detect these fonts, add an appropriate line to the X server configuration " "file ([.filename]#/usr/local/etc/X11/xorg.conf.d/90-fonts.conf#), which " "reads:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:618 #, no-wrap msgid "" "Section \"Files\"\n" " FontPath \"/usr/local/share/fonts/urwfonts/\"\n" "EndSection\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:621 msgid "Alternatively, at the command line in the X session run:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:626 #, no-wrap msgid "" "% xset fp+ /usr/local/share/fonts/urwfonts\n" "% xset fp rehash\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:631 msgid "" "This will work but will be lost when the X session is closed, unless it is " "added to the startup file ([.filename]#~/.xinitrc# for a normal `startx` " "session, or [.filename]#~/.xsession# when logging in through a graphical " "login manager like XDM). A third way is to use the new [.filename]#/usr/" "local/etc/fonts/local.conf# as demonstrated in crossref:x11[antialias, Anti-" "Aliased Fonts]." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:633 #, no-wrap msgid "TrueType(R) Fonts" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:639 msgid "" "Xorg has built in support for rendering TrueType(R) fonts. There are two " "different modules that can enable this functionality. The freetype module " "is used in this example because it is more consistent with the other font " "rendering back-ends. To enable the freetype module just add the following " "line to the `\"Module\"` section of [.filename]#/usr/local/etc/X11/" "xorg.conf.d/90-fonts.conf#." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:643 #, no-wrap msgid "Load \"freetype\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:649 msgid "" "Now make a directory for the TrueType(R) fonts (for example, [.filename]#/" "usr/local/share/fonts/TrueType#) and copy all of the TrueType(R) fonts into " "this directory. Keep in mind that TrueType(R) fonts cannot be directly " "taken from an Apple(R) Mac(R); they must be in UNIX(R)/MS-DOS(R)/Windows(R) " "format for use by Xorg. Once the files have been copied into this " "directory, use mkfontscale to create a [.filename]#fonts.dir#, so that the X " "font renderer knows that these new files have been installed. `mkfontscale` " "can be installed as a package:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:653 #, no-wrap msgid "# pkg install mkfontscale\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:656 msgid "Then create an index of X font files in a directory:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:661 #, no-wrap msgid "" "# cd /usr/local/share/fonts/TrueType\n" "# mkfontscale\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:665 msgid "" "Now add the TrueType(R) directory to the font path. This is just the same " "as described in crossref:x11[type1, Type1 Fonts]:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:670 #, no-wrap msgid "" "% xset fp+ /usr/local/share/fonts/TrueType\n" "% xset fp rehash\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:673 msgid "or add a `FontPath` line to [.filename]#xorg.conf#." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:676 msgid "" "Now Gimp, LibreOffice, and all of the other X applications should now " "recognize the installed TrueType(R) fonts. Extremely small fonts (as with " "text in a high resolution display on a web page) and extremely large fonts " "(within LibreOffice) will look much better now." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/x11/_index.adoc:678 #, no-wrap msgid "Anti-Aliased Fonts" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:681 msgid "" "All fonts in Xorg that are found in [.filename]#/usr/local/share/fonts/# and " "[.filename]#~/.fonts/# are automatically made available for anti-aliasing to " "Xft-aware applications. Most recent applications are Xft-aware, including " "KDE, GNOME, and Firefox." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:685 msgid "" "To control which fonts are anti-aliased, or to configure anti-aliasing " "properties, create (or edit, if it already exists) the file [.filename]#/usr/" "local/etc/fonts/local.conf#. Several advanced features of the Xft font " "system can be tuned using this file; this section describes only some simple " "possibilities. For more details, please see man:fonts-conf[5]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:689 msgid "" "This file must be in XML format. Pay careful attention to case, and make " "sure all tags are properly closed. The file begins with the usual XML " "header followed by a DOCTYPE definition, and then the `` tag:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:695 #, no-wrap msgid "" "\n" " \n" " \n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:699 msgid "" "As previously stated, all fonts in [.filename]#/usr/local/share/fonts/# as " "well as [.filename]#~/.fonts/# are already made available to Xft-aware " "applications. To add another directory outside of these two directory " "trees, add a line like this to [.filename]#/usr/local/etc/fonts/local.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:703 #, no-wrap msgid "/path/to/my/fonts\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:706 msgid "" "After adding new fonts, and especially new font directories, rebuild the " "font caches:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:710 #, no-wrap msgid "# fc-cache -f\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:714 msgid "" "Anti-aliasing makes borders slightly fuzzy, which makes very small text more " "readable and removes \"staircases\" from large text, but can cause eyestrain " "if applied to normal text. To exclude font sizes smaller than 14 point from " "anti-aliasing, include these lines:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:733 #, no-wrap msgid "" "\t\n" "\t \n" "\t\t14\n" "\t \n" "\t \n" "\t\tfalse\n" "\t \n" "\t\n" "\t\n" "\t \n" "\t\t14\n" "\t \n" "\t \n" "\t\tfalse\n" "\t \n" "\t\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:739 msgid "" "Spacing for some monospaced fonts might also be inappropriate with anti-" "aliasing. This seems to be an issue with KDE, in particular. One possible " "fix is to force the spacing for such fonts to be 100. Add these lines:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:758 #, no-wrap msgid "" "\t\n" "\t \n" "\t fixed\n" "\t \n" "\t \n" "\t mono\n" "\t \n" "\t\n" "\t\n" "\t \n" "\t\tconsole\n" "\t \n" "\t \n" "\t\tmono\n" "\t \n" "\t\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:761 msgid "" "(this aliases the other common names for fixed fonts as `\"mono\"`), and " "then add:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:772 #, no-wrap msgid "" "\t\n" "\t \n" "\t\t mono\n" "\t \n" "\t \n" "\t\t 100\n" "\t \n" "\t \n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:778 msgid "" "Certain fonts, such as Helvetica, may have a problem when anti-aliased. " "Usually this manifests itself as a font that seems cut in half vertically. " "At worst, it may cause applications to crash. To avoid this, consider " "adding the following to [.filename]#local.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:789 #, no-wrap msgid "" "\t\n" "\t \n" "\t\t Helvetica\n" "\t \n" "\t \n" "\t\t sans-serif\n" "\t \n" "\t \n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:793 msgid "" "After editing [.filename]#local.conf#, make certain to end the file with the " "`` tag. Not doing this will cause changes to be ignored." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:796 msgid "" "Users can add personalized settings by creating their own " "[.filename]#~/.config/fontconfig/fonts.conf#. This file uses the same `XML` " "format described above." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:800 msgid "" "One last point: with an LCD screen, sub-pixel sampling may be desired. This " "basically treats the (horizontally separated) red, green and blue components " "separately to improve the horizontal resolution; the results can be " "dramatic. To enable this, add the line somewhere in [.filename]#local.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/x11/_index.adoc:811 #, no-wrap msgid "" "\t \n" "\t \n" "\t\t unknown\n" "\t \n" "\t \n" "\t\t rgb\n" "\t \n" "\t \n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/x11/_index.adoc:816 msgid "" "Depending on the sort of display, `rgb` may need to be changed to `bgr`, " "`vrgb` or `vbgr`: experiment and see which works best." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/x11/_index.adoc:818 msgid "" "For more information about how to install and configure fonts on FreeBSD, " "please read the article link:{fonts}[Fonts and FreeBSD]." msgstr "" diff --git a/documentation/content/en/books/handbook/zfs/_index.po b/documentation/content/en/books/handbook/zfs/_index.po index a0bd371fcd..f05635f261 100644 --- a/documentation/content/en/books/handbook/zfs/_index.po +++ b/documentation/content/en/books/handbook/zfs/_index.po @@ -1,5170 +1,5170 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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:15 #, no-wrap msgid "The Z File System (ZFS)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:53 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:55 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:57 msgid "ZFS has three major design goals:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:59 msgid "" "Data integrity: All data includes a crossref:zfs[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:60 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:65 msgid "" "Performance: caching mechanisms provide increased performance. " "crossref:zfs[zfs-term-arc,ARC] is an advanced memory-based read cache. ZFS " "provides a second level disk-based read cache with crossref:zfs[zfs-term-" "l2arc,L2ARC], and a disk-based synchronous write cache named " "crossref:zfs[zfs-term-zil,ZIL]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:67 msgid "" "A complete list of features and terminology is in crossref:zfs[zfs-term, ZFS " "Features and Terminology]." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/zfs/_index.adoc:69 #, no-wrap msgid "What Makes ZFS Different" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:82 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:84 #, no-wrap msgid "Quick Start Guide" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:88 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:92 #, no-wrap msgid "zfs_enable=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:95 msgid "Then start the service:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:99 #, no-wrap msgid "# service zfs start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:103 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:105 #, no-wrap msgid "Single Disk Pool" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:108 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:112 #, no-wrap msgid "# zpool create example /dev/da0\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:115 msgid "To view the new pool, review the output of `df`:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:124 #, 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:128 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:139 #, 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:143 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:148 #, 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:152 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:154 msgid "Disable compression with:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:158 #, no-wrap msgid "# zfs set compression=off example/compressed\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:161 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:171 #, 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:174 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:185 #, 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:188 msgid "Running `mount` shows the pool and file systems:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:197 #, 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:203 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:208 #, 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:211 msgid "Use `df` to see the data and space usage:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:222 #, 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:227 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:229 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:235 #, 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:238 #, no-wrap msgid "RAID-Z" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:244 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:246 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:250 #, no-wrap msgid "# zpool create storage raidz da0 da1 da2\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:258 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:262 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:266 #, no-wrap msgid "# zfs create storage/home\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:269 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:274 #, 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:277 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:284 #, 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:288 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:290 msgid "Create a file system snapshot to roll back to later:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:294 #, no-wrap msgid "# zfs snapshot storage/home@08-30-08\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:297 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:300 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:304 #, no-wrap msgid "# zfs rollback storage/home@08-30-08\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:308 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:312 #, no-wrap msgid "# ls /storage/home/.zfs/snapshot\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:317 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:321 #, no-wrap msgid "# zfs destroy storage/home@08-30-08\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:325 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:329 #, no-wrap msgid "# zfs set mountpoint=/home storage/home\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:332 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:348 #, 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:352 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:356 #, no-wrap msgid "daily_status_zfs_enable=\"YES\"\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/zfs/_index.adoc:359 #, no-wrap msgid "Recovering RAID-Z" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:363 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:367 #, no-wrap msgid "# zpool status -x\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:370 msgid "" "If all pools are crossref:zfs[zfs-term-online,Online] and everything is " "normal, the message shows:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:374 #, no-wrap msgid "all pools are healthy\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:378 msgid "" "If there is a problem, perhaps a disk being in the crossref:zfs[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:390 #, 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:397 #, 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:399 #: documentation/content/en/books/handbook/zfs/_index.adoc:434 #: documentation/content/en/books/handbook/zfs/_index.adoc:480 #: documentation/content/en/books/handbook/zfs/_index.adoc:525 #: documentation/content/en/books/handbook/zfs/_index.adoc:548 #: documentation/content/en/books/handbook/zfs/_index.adoc:580 #: documentation/content/en/books/handbook/zfs/_index.adoc:659 #: documentation/content/en/books/handbook/zfs/_index.adoc:713 #: documentation/content/en/books/handbook/zfs/_index.adoc:750 #: documentation/content/en/books/handbook/zfs/_index.adoc:779 #: documentation/content/en/books/handbook/zfs/_index.adoc:859 #: documentation/content/en/books/handbook/zfs/_index.adoc:935 #: documentation/content/en/books/handbook/zfs/_index.adoc:967 #: documentation/content/en/books/handbook/zfs/_index.adoc:1067 #: documentation/content/en/books/handbook/zfs/_index.adoc:1111 #: documentation/content/en/books/handbook/zfs/_index.adoc:1136 #: documentation/content/en/books/handbook/zfs/_index.adoc:1157 #, no-wrap msgid "errors: No known data errors\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:402 msgid "" "\"OFFLINE\" shows the administrator took [.filename]#da1# offline using:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:406 #, no-wrap msgid "# zpool offline storage da1\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:410 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:414 #, no-wrap msgid "# zpool replace storage da1\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:417 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:425 #, 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:432 #: documentation/content/en/books/handbook/zfs/_index.adoc:478 #, 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:437 msgid "In this example, everything is normal." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/zfs/_index.adoc:439 #, no-wrap msgid "Data Verification" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:443 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:450 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:453 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:457 #, no-wrap msgid "# zpool scrub storage\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:463 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:471 #, 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:484 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:486 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:488 #, no-wrap msgid "`zpool` Administration" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:495 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 crossref:zfs[zfs-zfs,`zfs`] utility allows creating, " "destroying, and managing datasets, both crossref:zfs[zfs-term-" "filesystem,file systems] and crossref:zfs[zfs-term-volume,volumes]." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/zfs/_index.adoc:497 #, no-wrap msgid "Creating and Destroying Storage Pools" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:506 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 " "crossref:zfs[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:508 msgid "Create a simple mirror pool:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:517 #, 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:523 #, 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:528 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:537 #, 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:546 #, 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:557 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:559 msgid "" "Create a crossref:zfs[zfs-term-vdev-raidz,RAID-Z2] pool using partitions:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:568 #, 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:578 #: documentation/content/en/books/handbook/zfs/_index.adoc:777 #: documentation/content/en/books/handbook/zfs/_index.adoc:965 #, 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:587 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:589 #, no-wrap msgid "Adding and Removing Devices" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:593 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 crossref:zfs[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:602 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 crossref:zfs[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:604 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:612 #: documentation/content/en/books/handbook/zfs/_index.adoc:809 #, 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:616 #, 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:620 #, 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:622 #, 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:624 #, 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:638 #, 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:644 #, 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:651 #, 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:657 #: documentation/content/en/books/handbook/zfs/_index.adoc:690 #: documentation/content/en/books/handbook/zfs/_index.adoc:748 #: documentation/content/en/books/handbook/zfs/_index.adoc:815 #, 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:667 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:672 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:674 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:676 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:684 #, 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:702 #, 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:711 #, 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:717 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:719 msgid "Remove a disk from a three-way mirror group:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:727 #, 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:734 #, 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:742 #, 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:753 #, no-wrap msgid "Checking the Status of a Pool" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:759 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 crossref:zfs[zfs-zpool-scrub,`scrub`] are also shown." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:767 #, 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:782 #, no-wrap msgid "Clearing Errors" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:788 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:790 #, no-wrap msgid "Replacing a Functioning Device" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:799 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 crossref:zfs[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 crossref:zfs[zfs-zpool-online,Growing a Pool]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:801 msgid "Replace a functioning device in the pool:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:819 #, 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:821 #, 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:823 #, 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:836 #, 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:844 #, 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:851 #, 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:857 #: documentation/content/en/books/handbook/zfs/_index.adoc:933 #, 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:862 #, no-wrap msgid "Dealing with Failed Devices" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:871 msgid "" "When a disk in a pool fails, the vdev to which the disk belongs enters the " "crossref:zfs[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 crossref:zfs[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 crossref:zfs[zfs-" "term-online,online] status." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:876 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 " "crossref:zfs[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:879 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:881 msgid "Replace a failed disk using `zpool replace`:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:893 #, 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:899 #, 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:912 #, 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:920 #, 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:927 #, 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:938 #, no-wrap msgid "Scrubbing a Pool" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:944 msgid "" "Routinely crossref:zfs[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 crossref:zfs[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:955 #, 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:970 msgid "To cancel a scrub operation if needed, run `zpool scrub -s _mypool_`." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/zfs/_index.adoc:972 #, no-wrap msgid "Self-Healing" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:983 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:985 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:994 #, 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:1000 #: documentation/content/en/books/handbook/zfs/_index.adoc:1155 #, 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:1005 #, 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:1008 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:1018 #, 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:1022 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:1030 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:1040 #, 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:1046 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:1059 #, 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:1065 #, 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:1071 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:1078 #, 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:1087 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:1103 #, 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:1109 #, 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:1115 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:1128 #, 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:1134 #, 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:1140 msgid "" "After the scrubbing operation completes with all the data synchronized from " "[.filename]#ada0# to [.filename]#ada1#, crossref:zfs[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:1149 #, 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:1160 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:1162 #, no-wrap msgid "Growing a Pool" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1172 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 " "crossref:zfs[zfs-zpool-replace,replace] or crossref:zfs[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:1175 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:1177 #, no-wrap msgid "Importing and Exporting Pools" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1185 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:1187 msgid "Export a pool that is not in use:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1191 #, no-wrap msgid "# zpool export mypool\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1199 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:1201 msgid "List all available pools for import:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1210 #, 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:1213 #, no-wrap msgid "" " mypool ONLINE\n" " ada2p3 ONLINE\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1216 msgid "Import the pool with an alternative root directory:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1224 #, 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:1227 #, no-wrap msgid "Upgrading a Storage Pool" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1233 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:1235 msgid "Upgrade a v28 pool to support `Feature Flags`:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1248 #, 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:1254 #: documentation/content/en/books/handbook/zfs/_index.adoc:1302 #, 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:1258 #: documentation/content/en/books/handbook/zfs/_index.adoc:1306 #, 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:1261 #, 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:1265 #, no-wrap msgid "" "VER POOL\n" "--- ------------\n" "28 mypool\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1270 #, 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:1277 #, 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:1281 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:1283 msgid "Upgrade a pool to support new feature flags:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1296 #, 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:1308 #, no-wrap msgid "All pools are formatted using feature flags.\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1312 #, 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:1325 #, 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:1333 #, 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:1340 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:1342 msgid "For legacy boot using GPT, use the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1346 #, 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:1349 msgid "For systems using EFI to boot, execute the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1353 #, no-wrap -msgid "# gpart bootcode -p /boot/boot1.efifat -i 1 ada1\n" +msgid "# gpart bootcode -p /boot/boot1.efi -i 1 ada1\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1357 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:1360 #, no-wrap msgid "Displaying Recorded Pool History" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1366 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:1375 #, 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:1380 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:1383 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:1395 #, 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:1399 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:1408 #, 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:1414 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:1417 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:1419 #, no-wrap msgid "Performance Monitoring" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1426 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:1434 #, 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:1440 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:1445 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:1457 #, 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:1460 #, no-wrap msgid "Splitting a Storage Pool" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1467 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:1469 #, no-wrap msgid "`zfs` Administration" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1473 msgid "" "The `zfs` utility can create, destroy, and manage all existing ZFS datasets " "within a pool. To manage the pool itself, use crossref:zfs[zfs-" "zpool,`zpool`]." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/zfs/_index.adoc:1475 #, no-wrap msgid "Creating and Destroying Datasets" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1486 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 crossref:zfs[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. " "crossref:zfs[zfs-zfs-allow,Delegate], crossref:zfs[zfs-zfs-send,replicate], " "crossref:zfs[zfs-zfs-snapshot,snapshot], crossref:zfs[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:1488 msgid "" "Create a new dataset and enable crossref:zfs[zfs-term-compression-lz4,LZ4 " "compression] on it:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1523 #, 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:1526 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:1528 msgid "Destroy the created dataset:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1563 #, 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:1571 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 crossref:zfs[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:1573 #, no-wrap msgid "Creating and Destroying Volumes" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1578 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:1583 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:1597 #, 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:1601 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:1603 #, no-wrap msgid "Renaming a Dataset" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1610 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:1612 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:1648 #, 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:1653 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:1663 #, 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:1666 #, no-wrap msgid "Setting Dataset Properties" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1676 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:1683 #, 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:1687 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:1696 #, 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:1699 #, no-wrap msgid "Getting and Setting Share Properties" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1705 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:1714 #, 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:1717 msgid "To enable sharing of a dataset, enter:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1721 #, no-wrap msgid "# zfs set sharenfs=on mypool/usr/home\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1725 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:1729 #, 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:1732 #, no-wrap msgid "Managing Snapshots" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1746 msgid "" "crossref:zfs[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:1755 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:1757 #, no-wrap msgid "Creating Snapshots" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1761 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:1763 msgid "Create a recursive snapshot of the entire pool:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1801 #, 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:1806 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:1810 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:1817 #, 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:1824 msgid "" "Displaying both the dataset and the snapshot together reveals how snapshots " "work in crossref:zfs[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:1834 #, 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:1839 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:1841 #, no-wrap msgid "Comparing Snapshots" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1847 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:1858 #, 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:1862 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:1868 #, no-wrap msgid "+" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:1870 #, no-wrap msgid "Adding the path or file." msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:1871 #, no-wrap msgid "-" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:1873 #, no-wrap msgid "Deleting the path or file." msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:1874 #, no-wrap msgid "M" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:1876 #, no-wrap msgid "Modifying the path or file." msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:1877 #, no-wrap msgid "R" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:1878 #, no-wrap msgid "Renaming the path or file." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1883 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:1885 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:1887 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:1899 #, 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:1903 msgid "" "A backup administrator can compare two snapshots received from the sending " "host and determine the actual changes in the dataset. See the " "crossref:zfs[zfs-zfs-send,Replication] section for more information." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/zfs/_index.adoc:1905 #, no-wrap msgid "Snapshot Rollback" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1918 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 " "valid or an older version is preferred. 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:1920 msgid "" "In the first example, roll back a snapshot because a careless `rm` operation " "removed more data than intended." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:1934 #, 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:1939 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:1945 #, 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:1950 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:1963 #, 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:1970 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:1979 #, 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:1982 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:1984 #, no-wrap msgid "Restoring Individual Files from Snapshots" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:1991 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:2002 #, 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:2007 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:2018 #, 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:2025 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:2030 #, 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:2034 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:2037 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:2041 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:2043 #, no-wrap msgid "Managing Clones" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2052 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:2054 msgid "To show the clone feature use this example dataset:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:2062 #, 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:2068 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:2075 #, 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:2082 #, 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:2091 msgid "" "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:2101 #, 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:2106 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:2117 #, 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:2126 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:2128 #, no-wrap msgid "Replication" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2137 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 crossref:zfs[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:2139 msgid "These examples show ZFS replication with these two pools:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:2146 #, 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:2154 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:2161 #, 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:2166 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:2172 #, 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:2176 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:2184 #, 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:2188 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:2194 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:2202 #, 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:2207 #, 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:2210 #, no-wrap msgid "Incremental Backups" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2215 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:2227 #, 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:2233 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:2240 #, 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:2245 #, 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:2251 #, 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:2258 #, 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:2263 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:2268 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:2270 #, no-wrap msgid "Sending Encrypted Backups over SSH" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2278 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:2281 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:2283 msgid "Change the configuration as follows:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2285 msgid "" "Passwordless SSH access between sending and receiving host using SSH keys" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2286 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:2287 msgid "Security reasons prevent `root` from logging in by default." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2289 msgid "" "Use the crossref:zfs[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:2293 #, no-wrap msgid "# zfs allow -u someuser send,snapshot mypool\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2296 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:2298 msgid "On the receiving system:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:2307 #, 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:2310 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:2315 #, 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:2325 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:2327 #, no-wrap msgid "Dataset, User, and Group Quotas" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2333 msgid "" "Use crossref:zfs[zfs-term-quota,Dataset quotas] to restrict the amount of " "space consumed by a particular dataset. crossref:zfs[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 crossref:zfs[zfs-term-userquota,user] and crossref:zfs[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:2338 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:2340 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:2344 #, no-wrap msgid "# zfs set quota=10G storage/home/bob\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2347 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:2351 #, no-wrap msgid "# zfs set refquota=10G storage/home/bob\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2354 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:2358 #, no-wrap msgid "# zfs set quota=none storage/home/bob\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2361 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:2363 msgid "POSIX compatible name such as _joe_." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2364 msgid "POSIX numeric ID such as _789_." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2365 msgid "SID name such as _joe.bloggs@example.com_." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2366 msgid "SID numeric ID such as _S-1-123-456-789_." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2368 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:2372 #, no-wrap msgid "# zfs set userquota@joe=50G\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2375 msgid "To remove any quota:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:2379 #, no-wrap msgid "# zfs set userquota@joe=none\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:2386 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:2389 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:2391 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:2395 #, no-wrap msgid "# zfs set groupquota@firstgroup=50G\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2398 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:2402 #, no-wrap msgid "# zfs set groupquota@firstgroup=none\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2406 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:2410 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:2412 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:2416 #, no-wrap msgid "# zfs get quota storage/home/bob\n" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/zfs/_index.adoc:2419 #, no-wrap msgid "Reservations" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2424 msgid "" "crossref:zfs[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:2426 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:2430 #, no-wrap msgid "# zfs set reservation=10G storage/home/bob\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2433 msgid "To clear any reservation:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:2437 #, no-wrap msgid "# zfs set reservation=none storage/home/bob\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2441 msgid "" "The same principle applies to the `refreservation` property for setting a " "crossref:zfs[zfs-term-refreservation,Reference Reservation], with the " "general format `refreservation=_size_`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2443 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:2448 #, 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:2451 #, no-wrap msgid "Compression" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2458 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 crossref:zfs[zfs-zfs-" "deduplication,Deduplication] because it does not require extra memory." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2465 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 " "crossref:zfs[zfs-term-compression,Compression] entry in the terminology " "section." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2467 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:2476 #, 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:2481 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:2488 msgid "" "Compression can have an unexpected side effect when combined with " "crossref:zfs[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:2492 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:2494 #, no-wrap msgid "Zstandard Compression" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2498 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:2502 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:2507 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:2513 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:2517 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:2519 #, no-wrap msgid "Deduplication" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2525 msgid "" "When enabled, crossref:zfs[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:2527 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:2531 #, no-wrap msgid "# zfs set dedup=on pool\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2536 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:2542 #, 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:2547 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:2553 #, 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:2556 msgid "To observe deduplicating of redundant data, use:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:2562 #, 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:2567 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:2570 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:2575 #, no-wrap msgid "" "# zdb -S pool\n" "Simulated DDT histogram:\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/zfs/_index.adoc:2591 #, 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:2593 #, 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:2603 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 crossref:zfs[zfs-term-" "deduplication,DDT]." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/zfs/_index.adoc:2605 #, no-wrap msgid "ZFS and Jails" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2611 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:2613 #, no-wrap msgid "Delegated Administration" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2621 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:2623 #, no-wrap msgid "Delegating Dataset Creation" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2629 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:2631 #, no-wrap msgid "Delegating Permission Delegation" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2635 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:2637 #, no-wrap msgid "Advanced Topics" msgstr "" #. type: Title === #: documentation/content/en/books/handbook/zfs/_index.adoc:2640 #, no-wrap msgid "Tuning" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2643 msgid "Adjust tunables to make ZFS perform best for different workloads." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2647 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 crossref:zfs[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:2654 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 " "crossref:zfs[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 crossref:zfs[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:2659 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 crossref:zfs[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 " "crossref:zfs[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:2660 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:2661 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:2667 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:2670 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:2674 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:2678 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 crossref:zfs[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:2679 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:2680 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:2686 msgid "" "[[zfs-advanced-tuning-top_maxinflight]] `_vfs.zfs.top_maxinflight_` - Upper " "number of outstanding I/Os per top-level crossref:zfs[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 crossref:zfs[zfs-term-" "vdev-mirror,mirror], crossref:zfs[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:2688 msgid "" "[[zfs-advanced-tuning-l2arc_write_max]] `_vfs.zfs.l2arc_write_max_` - Limit " "the amount of data written to the crossref:zfs[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:2694 msgid "" "[[zfs-advanced-tuning-l2arc_write_boost]] `_vfs.zfs.l2arc_write_boost_` - " "Adds the value of this tunable to crossref:zfs[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 crossref:zfs[zfs-term-" "l2arc,L2ARC]. This \"Turbo Warmup Phase\" reduces the performance loss from " "an empty crossref:zfs[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:2699 msgid "" "[[zfs-advanced-tuning-scrub_delay]]`_vfs.zfs.scrub_delay_` - Number of ticks " "to delay between each I/O during a crossref:zfs[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)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2707 msgid "" "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 " "crossref:zfs[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:2723 msgid "" "[[zfs-advanced-tuning-resilver_delay]] `_vfs.zfs.resilver_delay_` - Number " "of milliseconds of delay inserted between each I/O during a crossref:zfs[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 crossref:zfs[zfs-term-online,Online] state " "may be more important if another device failing could crossref:zfs[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 crossref:zfs[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:2727 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 crossref:zfs[zfs-term-scrub,`scrub`] and " "crossref:zfs[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:2729 msgid "" "[[zfs-advanced-tuning-txg-timeout]] `_vfs.zfs.txg.timeout_` - Upper number " "of seconds between crossref:zfs[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:2731 #, no-wrap msgid "ZFS on i386" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2734 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:2735 #, no-wrap msgid "Memory" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2743 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:2744 #, no-wrap msgid "Kernel Configuration" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2747 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:2751 #, no-wrap msgid "options KVA_PAGES=512\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2756 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:2757 #, no-wrap msgid "Loader Tunables" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2761 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:2768 #, 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:2771 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:2773 #, no-wrap msgid "Further Resources" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2776 msgid "https://openzfs.org/[OpenZFS]" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2777 msgid "https://wiki.freebsd.org/ZFSTuningGuide[FreeBSD Wiki - ZFS Tuning]" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2778 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:2780 #, no-wrap msgid "ZFS Features and Terminology" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/zfs/_index.adoc:2789 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:2795 #, no-wrap msgid "[[zfs-term-pool]]pool" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2798 #, 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:2799 #, no-wrap msgid "[[zfs-term-vdev]]vdev Types" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2832 #, 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\n" "crossref:zfs[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\n" " (crossref:zfs[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\n" " storage of the cache to the crossref:zfs[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:2833 #, no-wrap msgid "[[zfs-term-txg]] Transaction Group (TXG)" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2854 #, 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\n" " writes. There is always a transaction group in the open state, but the\n" " transaction group may refuse new writes if it has reached a limit. Once the\n" " open transaction group has reached a limit, or reaching the\n" " crossref:zfs[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.\n" " This process will in turn change other data, such as metadata and space maps,\n" " that ZFS will also write to stable storage. The process of syncing involves\n" " several passes. On the first and biggest, all the changed data blocks; next\n" " come the metadata, which may take several passes to complete. Since allocating\n" " space for the data blocks generates new metadata, the syncing state cannot\n" " finish until a pass completes that does not use any new space. The syncing\n" " state is also where _synctasks_ complete. Synctasks are administrative\n" " operations such as creating or destroying snapshots and datasets that complete\n" " the uberblock change. Once the sync state completes the transaction group in\n" " the quiescing state advances to the syncing state. All administrative\n" " functions, such as crossref:zfs[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:2855 #, no-wrap msgid "[[zfs-term-arc]]Adaptive Replacement Cache (ARC)" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2857 #, 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:2858 #, no-wrap msgid "[[zfs-term-l2arc]]L2ARC" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2876 #, no-wrap msgid "" "L2ARC is the second level of the ZFS caching system. RAM stores the primary\n" "ARC. Since the amount of available RAM is often limited, ZFS can also use\n" "crossref:zfs[zfs-term-vdev-cache,cache vdevs]. Solid State Disks (SSDs) are\n" "often used as these cache devices due to their higher speed and lower latency\n" "compared to traditional spinning disks. L2ARC is entirely optional, but having\n" "one will increase read speeds for cached files on the SSD instead of having to\n" "read from the regular disks. L2ARC can also speed up\n" "crossref:zfs[zfs-term-deduplication,deduplication] because a deduplication table\n" "(DDT) that does not fit in RAM but does fit in the L2ARC will be much faster\n" "than a DDT that must read from disk. Limits on the data rate added to the cache\n" "devices prevents prematurely wearing out SSDs with extra writes. Until the cache\n" "is full (the first block evicted to make room), writes to the L2ARC limit to the\n" "sum of the write limit and the boost limit, and afterwards limit to the write\n" "limit. A pair of man:sysctl[8] values control these rate limits.\n" "crossref:zfs[zfs-advanced-tuning-l2arc_write_max,`vfs.zfs.l2arc_write_max`]\n" "controls the number of bytes written to the cache per second, while\n" "crossref:zfs[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:2877 #, no-wrap msgid "[[zfs-term-zil]]ZIL" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2879 #, 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:2880 #, no-wrap msgid "[[zfs-term-cow]]Copy-On-Write" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2882 #, 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:2883 #, no-wrap msgid "[[zfs-term-dataset]]Dataset" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2893 #, no-wrap msgid "" "_Dataset_ is the generic term for a ZFS file system, volume, snapshot or clone.\n" "Each dataset has a unique name in the format _poolname/path@snapshot_. The root\n" "of the pool is a dataset as well. Child datasets have hierarchical names like\n" "directories. For example, _mypool/home_, the home dataset, is a child of\n" "_mypool_ and inherits properties from it. Expand this further by creating\n" "_mypool/home/user_. This grandchild dataset will inherit properties from the\n" "parent and grandparent. Set properties on a child to override the defaults\n" "inherited from the parent and grandparent. Administration of datasets and their\n" "children can be crossref:zfs[zfs-zfs-allow,delegated]." msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2894 #, no-wrap msgid "[[zfs-term-filesystem]]File system" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2896 #, 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:2897 #, no-wrap msgid "[[zfs-term-volume]]Volume" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2899 #, 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:2900 #, no-wrap msgid "[[zfs-term-snapshot]]Snapshot" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2920 #, no-wrap msgid "" "The crossref:zfs[zfs-term-cow,copy-on-write] (COW) design of ZFS allows for\n" "nearly instantaneous, consistent snapshots with arbitrary names. After taking a\n" "snapshot of a dataset, or a recursive snapshot of a parent dataset that will\n" "include all child datasets, new data goes to new blocks, but without reclaiming\n" "the old blocks as free space. The snapshot contains the original file system\n" "version and the live file system contains any changes made since taking the\n" "snapshot using no other space. New data written to the live file system uses new\n" "blocks to store this data. The snapshot will grow as the blocks are no longer\n" "used in the live file system, but in the snapshot alone. Mount these snapshots\n" "read-only allows recovering of previous file versions. A\n" "crossref:zfs[zfs-zfs-snapshot,rollback] of a live file system to a specific\n" "snapshot is possible, undoing any changes that took place after taking the\n" "snapshot. Each block in the pool has a reference counter which keeps track of\n" "the snapshots, clones, datasets, or volumes use that block. As files and\n" "snapshots get deleted, the reference count decreases, reclaiming the free space\n" "when no longer referencing a block. Marking snapshots with a\n" "crossref:zfs[zfs-zfs-snapshot,hold] results in any attempt to destroy it will\n" "returns an `EBUSY` error. Each snapshot can have holds with a unique name each.\n" "The crossref:zfs[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:2921 #, no-wrap msgid "[[zfs-term-clone]]Clone" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2923 #, 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:2924 #, no-wrap msgid "[[zfs-term-checksum]]Checksum" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2936 #, no-wrap msgid "" "Every block is also checksummed. The checksum algorithm used is a per-dataset\n" "property, see crossref:zfs[zfs-zfs-set,`set`]. The checksum of each block is\n" "transparently validated when read, allowing ZFS to detect silent corruption. If\n" "the data read does not match the expected checksum, ZFS will attempt to recover\n" "the data from any available redundancy, like mirrors or RAID-Z. Triggering a\n" "validation of all checksums with crossref:zfs[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:2937 #, no-wrap msgid "[[zfs-term-compression]]Compression" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2951 #, 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:2952 #, no-wrap msgid "[[zfs-term-copies]]Copies" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2955 #, no-wrap msgid "" "When set to a value greater than 1, the `copies` property instructs ZFS to\n" "maintain copies of each block in the crossref:zfs[zfs-term-filesystem,file\n" "system] or crossref:zfs[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:2956 #, no-wrap msgid "[[zfs-term-deduplication]]Deduplication" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2958 #, 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:2959 #, no-wrap msgid "[[zfs-term-scrub]]Scrub" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2970 #, no-wrap msgid "" "Instead of a consistency check like man:fsck[8], ZFS has `scrub`. `scrub` reads\n" "all data blocks stored on the pool and verifies their checksums against the\n" "known good checksums stored in the metadata. A periodic check of all the data\n" "stored on the pool ensures the recovery of any corrupted blocks before needing\n" "them. A scrub is not required after an unclean shutdown, but good practice is at\n" "least once every three months. ZFS verifies the checksum of each block during\n" "normal use, but a scrub makes certain to check even infrequently used blocks for\n" "silent corruption. ZFS improves data security in archival storage situations.\n" "Adjust the relative priority of `scrub` with\n" "crossref:zfs[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:2971 #, no-wrap msgid "[[zfs-term-quota]]Dataset Quota" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2985 #, 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\n" "crossref:zfs[zfs-term-refquota,reference quota (refquota)], the\n" "crossref:zfs[zfs-term-userquota,user quota], and the\n" "crossref:zfs[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:2986 #, no-wrap msgid "[[zfs-term-refquota]]Reference Quota" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2988 #, 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:2989 #, no-wrap msgid "[[zfs-term-userquota]]User Quota" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2991 #, 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:2992 #, no-wrap msgid "[[zfs-term-groupquota]]Group Quota" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:2994 #, 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:2995 #, no-wrap msgid "[[zfs-term-reservation]]Dataset Reservation" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:3003 #, no-wrap msgid "" "The `reservation` property makes it possible to guarantee an amount of space\n" "for a specific dataset and its descendants. This means that setting a 10 GB\n" "reservation on [.filename]#storage/home/bob# prevents other datasets from using\n" "up all free space, reserving at least 10 GB of space for this dataset. Unlike a\n" "regular crossref:zfs[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:3004 #, no-wrap msgid "[[zfs-term-refreservation]]Reference Reservation" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:3010 #, no-wrap msgid "" "The `refreservation` property makes it possible to guarantee an amount of space\n" "for the use of a specific dataset _excluding_ its descendants. This means that\n" "setting a 10 GB reservation on [.filename]#storage/home/bob#, and another\n" "dataset tries to use the free space, reserving at least 10 GB of space for this\n" "dataset. In contrast to a regular crossref:zfs[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:3011 #, no-wrap msgid "[[zfs-term-resilver]]Resilver" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:3012 #, 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:3013 #, no-wrap msgid "[[zfs-term-online]]Online" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:3015 #, 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:3016 #, no-wrap msgid "[[zfs-term-offline]]Offline" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:3020 #, no-wrap msgid "" "The administrator puts individual devices in an `Offline` state if enough\n" "redundancy exists to avoid putting the pool or vdev into a\n" "crossref:zfs[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:3021 #, no-wrap msgid "[[zfs-term-degraded]]Degraded" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:3028 #, no-wrap msgid "" "A pool or vdev in the `Degraded` state has one or more disks that disappeared\n" "or failed. The pool is still usable, but if other devices fail, the pool may\n" "become unrecoverable. Reconnecting the missing devices or replacing the failed\n" "disks will return the pool to an crossref:zfs[zfs-term-online,Online] state\n" "after the reconnected or new device has completed the\n" "crossref:zfs[zfs-term-resilver,Resilver] process." msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:3029 #, no-wrap msgid "[[zfs-term-faulted]]Faulted" msgstr "" #. type: Table #: documentation/content/en/books/handbook/zfs/_index.adoc:3034 #, no-wrap msgid "" "A pool or vdev in the `Faulted` state is no longer operational. Accessing the\n" "data is no longer possible. A pool or vdev enters the `Faulted` state when the\n" "number of missing or failed devices exceeds the level of redundancy in the vdev.\n" "If reconnecting missing devices the pool will return to an\n" "crossref:zfs[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/makefiles/_index.po b/documentation/content/en/books/porters-handbook/makefiles/_index.po index 6a1c614530..2e85bbf32e 100644 --- a/documentation/content/en/books/porters-handbook/makefiles/_index.po +++ b/documentation/content/en/books/porters-handbook/makefiles/_index.po @@ -1,11713 +1,11725 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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:14 #, no-wrap msgid "Configuring the Makefile" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:55 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:57 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:59 #, no-wrap msgid "The Original Source" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:63 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:66 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:68 #, no-wrap msgid "Naming" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:71 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:73 #, no-wrap msgid "`PORTNAME`" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:77 msgid "" "Set `PORTNAME` to the base name of the software. It is used as the base for " "the FreeBSD package, and for crossref:makefiles[makefile-" "distname,`DISTNAME`]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:84 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 crossref:makefiles[porting-pkgnameprefix-" "suffix,`PKGNAMEPREFIX` or `PKGNAMESUFFIX`]." msgstr "" #. type: Title === #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:87 #, no-wrap msgid "Versions, `DISTVERSION` _or_ `PORTVERSION`" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:90 msgid "Set `DISTVERSION` to the version number of the software." msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:94 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:98 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:101 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:106 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 " "crossref:makefiles[makefile-versions-ex-pkg-version, Using man:pkg-" "version\\[8\\] to Compare Versions]." msgstr "" #. type: Block title #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:109 #, 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:113 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:119 #, 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:119 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:121 #, no-wrap msgid "<.>" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:121 msgid "% pkg version -t 1.2 1.2.0" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:128 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:131 msgid "`1.2` is before `1.3`." msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:132 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:133 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:134 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:135 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:136 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:141 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:145 #, no-wrap msgid "Examples of `DISTVERSION` and the Derived `PORTVERSION`" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:149 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:499 #, no-wrap msgid "DISTVERSION" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:151 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:500 #, no-wrap msgid "PORTVERSION" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:152 #, no-wrap msgid "0.7.1d" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:154 #, no-wrap msgid "0.7.1.d" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:155 #, no-wrap msgid "10Alpha3" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:157 #, no-wrap msgid "10.a3" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:158 #, no-wrap msgid "3Beta7-pre2" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:160 #, no-wrap msgid "3.b7.p2" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:161 #, no-wrap msgid "8:f_17" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:162 #, no-wrap msgid "8f.17" msgstr "" #. type: Block title #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:165 #, no-wrap msgid "Using `DISTVERSION`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:169 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:174 #, no-wrap msgid "" "PORTNAME= nekoto\n" "DISTVERSION=\t1.2-4\n" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:177 msgid "It will generate a `PORTVERSION` of `1.2.4`." msgstr "" #. type: Block title #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:180 #, 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:184 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:186 msgid "If the version is `v1.2-4`:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:192 #, 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:196 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:202 #, 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:205 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:211 #, 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:214 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:221 #, 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:224 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:226 msgid "All will generate a `PORTVERSION` of `1.2.4`." msgstr "" #. type: Block title #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:229 #, 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:233 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:238 #, 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:244 #, no-wrap msgid "" "PORTNAME= nekoto\n" "DISTVERSION=\t1.2p4\n" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:247 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:252 #, 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:257 #, 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:261 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:266 #, no-wrap msgid "" "PORTNAME= nekoto\n" "PORTVERSION=\t1.2p4\n" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:270 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:277 #, 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:280 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:281 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:287 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 " "crossref:makefiles[makefile-distname, `DISTNAME`]." msgstr "" #. type: Title === #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:289 #, no-wrap msgid "`PORTREVISION` and `PORTEPOCH`" msgstr "" #. type: Title ==== #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:292 #, no-wrap msgid "`PORTREVISION`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:296 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:300 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 crossref:makefiles[makefile-" "options,options]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:302 msgid "Examples of when `PORTREVISION` must be bumped:" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:304 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:305 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:306 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:307 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:308 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:309 msgid "Changes to `MAINTAINER`." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:311 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:313 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:314 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:315 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:316 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:321 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:326 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:329 #, no-wrap msgid "`PORTEPOCH`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:333 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:339 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:344 #, 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:347 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:354 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:357 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:361 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:364 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:366 #, no-wrap msgid "Example of `PORTREVISION` and `PORTEPOCH` Usage" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:369 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:374 #, no-wrap msgid "" "PORTNAME=\tgtkmumble\n" "DISTVERSION=\t0.10\n" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:377 msgid "`PKGNAME` becomes `gtkmumble-0.10`." msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:380 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:386 #, 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:389 msgid "`PKGNAME` becomes `gtkmumble-0.10_1`" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:393 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:399 #, 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:402 msgid "`PKGNAME` becomes `gtkmumble-0.2,1`" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:405 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:411 #, 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:414 msgid "`PKGNAME` becomes `gtkmumble-0.3,1`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:419 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:422 #, no-wrap msgid "`PKGNAMEPREFIX` and `PKGNAMESUFFIX`" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:429 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 " "crossref:makefiles[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:431 #, no-wrap msgid "Package Naming Conventions" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:435 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:437 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:440 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:442 #, no-wrap msgid "[.filename]#language_region-#" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:446 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:449 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:451 msgid "The _language-_ part is set in `PKGNAMEPREFIX`." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:453 #, no-wrap msgid "[.filename]#name#" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:458 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:461 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:462 #, no-wrap msgid "[.filename]#-compiled.specifics#" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:467 msgid "" "If the port can be built with different crossref:makefiles[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:469 msgid "The _-compiled.specifics_ part is set in `PKGNAMESUFFIX`." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:471 #, no-wrap msgid "[.filename]#-version.numbers#" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:477 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:481 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:487 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 " "crossref:makefiles[porting-pkgnameprefix-suffix,`PKGNAMEPREFIX` or " "`PKGNAMESUFFIX`]." msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:490 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:491 #, no-wrap msgid "Package Naming Examples" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:495 #, no-wrap msgid "Distribution Name" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:496 #, no-wrap msgid "PKGNAMEPREFIX" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:497 #, no-wrap msgid "PORTNAME" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:498 #, no-wrap msgid "PKGNAMESUFFIX" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:502 #, no-wrap msgid "Reason or comment" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:503 #, no-wrap msgid "mule-2.2.2" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:504 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:506 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:512 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:520 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:522 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:528 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:530 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:536 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:538 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:544 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:546 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:552 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:554 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:560 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:562 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:568 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:570 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:576 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:578 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:586 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:592 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:600 #, no-wrap msgid "(empty)" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:505 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:513 #, no-wrap msgid "mule" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:507 #, no-wrap msgid "2.2.2" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:510 #, no-wrap msgid "No changes required" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:511 #, no-wrap msgid "mule-1.0.1" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:514 #, no-wrap msgid "1" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:515 #, no-wrap msgid "1.0.1" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:518 #, 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:519 #, no-wrap msgid "EmiClock-1.0.2" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:521 #, no-wrap msgid "emiclock" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:523 #, no-wrap msgid "1.0.2" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:526 #, no-wrap msgid "No uppercase names for single programs" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:527 #, no-wrap msgid "rdist-1.3alpha" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:529 #, no-wrap msgid "rdist" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:531 #, no-wrap msgid "1.3alpha" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:534 #, no-wrap msgid "Version will be `1.3.a`" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:535 #, no-wrap msgid "es-0.9-beta1" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:537 #, no-wrap msgid "es" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:539 #, no-wrap msgid "0.9-beta1" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:542 #, no-wrap msgid "Version will be `0.9.b1`" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:543 #, no-wrap msgid "mailman-2.0rc3" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:545 #, no-wrap msgid "mailman" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:547 #, no-wrap msgid "2.0rc3" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:550 #, no-wrap msgid "Version will be `2.0.r3`" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:551 #, no-wrap msgid "v3.3beta021.src" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:553 #, no-wrap msgid "tiff" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:556 #, no-wrap msgid "3.3" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:558 #, no-wrap msgid "What the heck was that anyway?" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:559 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:561 #, no-wrap msgid "tvtwm" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:564 #, no-wrap msgid "p11" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:566 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:574 #, 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:567 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:569 #, no-wrap msgid "piewm" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:571 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:603 #, no-wrap msgid "1.0" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:575 #, no-wrap msgid "xvgr-2.10pl1" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:577 #, no-wrap msgid "xvgr" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:580 #, no-wrap msgid "2.10.pl1" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:582 #, 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:583 #, no-wrap msgid "gawk-2.15.6" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:584 #, no-wrap msgid "ja-" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:585 #, no-wrap msgid "gawk" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:587 #, no-wrap msgid "2.15.6" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:590 #, no-wrap msgid "Japanese language version" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:591 #, no-wrap msgid "psutils-1.13" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:593 #, no-wrap msgid "psutils" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:594 #, no-wrap msgid "-letter" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:595 #, no-wrap msgid "1.13" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:598 #, no-wrap msgid "Paper size hardcoded at package build time" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:599 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:601 #, no-wrap msgid "pkfonts" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:602 #, no-wrap msgid "300" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:605 #, no-wrap msgid "Package for 300dpi fonts" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:609 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:614 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:617 #, no-wrap msgid "Categorization" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:620 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4863 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4867 #, no-wrap msgid "`CATEGORIES`" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:626 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 crossref:makefiles[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:630 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 " "crossref:makefiles[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:632 #, no-wrap msgid "Current List of Categories" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:637 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:641 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:647 #, no-wrap msgid "Category" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:648 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1469 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1878 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1473 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1882 #, no-wrap msgid "Description" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:650 #, no-wrap msgid "Notes" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:651 #, no-wrap msgid "[.filename]#accessibility#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:652 #, no-wrap msgid "Ports to help disabled users." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:655 #, no-wrap msgid "[.filename]#afterstep#`*`" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:656 #, 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:659 #, no-wrap msgid "[.filename]#arabic#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:660 #, no-wrap msgid "Arabic language support." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:663 #, no-wrap msgid "[.filename]#archivers#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:664 #, no-wrap msgid "Archiving tools." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:667 #, no-wrap msgid "[.filename]#astro#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:668 #, no-wrap msgid "Astronomical ports." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:671 #, no-wrap msgid "[.filename]#audio#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:672 #, no-wrap msgid "Sound support." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:675 #, no-wrap msgid "[.filename]#benchmarks#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:676 #, no-wrap msgid "Benchmarking utilities." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:679 #, no-wrap msgid "[.filename]#biology#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:680 #, no-wrap msgid "Biology-related software." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:683 #, no-wrap msgid "[.filename]#cad#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:684 #, no-wrap msgid "Computer aided design tools." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:687 #, no-wrap msgid "[.filename]#chinese#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:688 #, no-wrap msgid "Chinese language support." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:691 #, no-wrap msgid "[.filename]#comms#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:692 #, no-wrap msgid "Communication software." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:694 #, no-wrap msgid "Mostly software to talk to the serial port." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:695 #, no-wrap msgid "[.filename]#converters#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:696 #, no-wrap msgid "Character code converters." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:699 #, no-wrap msgid "[.filename]#databases#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:700 #, no-wrap msgid "Databases." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:703 #, no-wrap msgid "[.filename]#deskutils#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:704 #, 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:707 #, no-wrap msgid "[.filename]#devel#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:708 #, no-wrap msgid "Development utilities." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:710 #, 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:711 #, no-wrap msgid "[.filename]#dns#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:712 #, no-wrap msgid "DNS-related software." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:715 #, no-wrap msgid "[.filename]#docs#`*`" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:716 #, no-wrap msgid "Meta-ports for FreeBSD documentation." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:719 #, no-wrap msgid "[.filename]#editors#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:720 #, no-wrap msgid "General editors." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:722 #, 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:723 #, no-wrap msgid "[.filename]#education#`*`" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:724 #, no-wrap msgid "Education-related software." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:726 #, 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:727 #, no-wrap msgid "[.filename]#elisp#`*`" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:728 #, no-wrap msgid "Emacs-lisp ports." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:731 #, no-wrap msgid "[.filename]#emulators#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:732 #, no-wrap msgid "Emulators for other operating systems." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:734 #, 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:735 #, no-wrap msgid "[.filename]#enlightenment#`*`" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:736 #, no-wrap msgid "Ports related to the Enlightenment window manager." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:739 #, no-wrap -msgid "[.filename]#finance#" +msgid "[.filename]#filesystems#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:740 #, no-wrap -msgid "Monetary, financial and related applications." +msgid "File systems and related utilities." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:743 #, no-wrap -msgid "[.filename]#french#" +msgid "[.filename]#finance#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:744 #, no-wrap -msgid "French language support." +msgid "Monetary, financial and related applications." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:747 #, no-wrap -msgid "[.filename]#ftp#" +msgid "[.filename]#french#" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:748 #, no-wrap +msgid "French language support." +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:751 +#, no-wrap +msgid "[.filename]#ftp#" +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:752 +#, no-wrap msgid "FTP client and server utilities." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:750 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:754 #, 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:751 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:755 #, no-wrap msgid "[.filename]#games#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:752 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:756 #, no-wrap msgid "Games." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:755 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:759 #, no-wrap msgid "[.filename]#geography#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:756 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:760 #, no-wrap msgid "Geography-related software." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:759 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:763 #, no-wrap msgid "[.filename]#german#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:760 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:764 #, no-wrap msgid "German language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:763 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:767 #, no-wrap msgid "[.filename]#gnome#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:764 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:768 #, no-wrap msgid "Ports from the https://www.gnome.org/[GNOME] Project." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:767 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:771 #, no-wrap msgid "[.filename]#gnustep#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:768 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:772 #, no-wrap msgid "Software related to the GNUstep desktop environment." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:771 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:775 #, no-wrap msgid "[.filename]#graphics#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:772 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:776 #, no-wrap msgid "Graphics utilities." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:775 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:779 #, no-wrap msgid "[.filename]#hamradio#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:776 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:780 #, no-wrap msgid "Software for amateur radio." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:779 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:783 #, no-wrap msgid "[.filename]#haskell#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:780 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:784 #, no-wrap msgid "Software related to the Haskell language." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:783 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:787 #, no-wrap msgid "[.filename]#hebrew#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:784 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:788 #, no-wrap msgid "Hebrew language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:787 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:791 #, no-wrap msgid "[.filename]#hungarian#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:788 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:792 #, no-wrap msgid "Hungarian language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:791 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:795 #, no-wrap msgid "[.filename]#irc#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:792 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:796 #, no-wrap msgid "Internet Relay Chat utilities." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:795 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:799 #, no-wrap msgid "[.filename]#japanese#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:796 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:800 #, no-wrap msgid "Japanese language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:799 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:803 #, no-wrap msgid "[.filename]#java#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:800 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:804 #, no-wrap msgid "Software related to the Java(TM) language." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:802 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:806 #, 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:803 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:807 #, no-wrap msgid "[.filename]#kde#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:804 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:808 #, 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:807 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:811 #, no-wrap msgid "[.filename]#kde-applications#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:808 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:812 #, no-wrap msgid "Applications from the https://www.kde.org/[KDE] Project." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:811 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:815 #, no-wrap msgid "[.filename]#kde-frameworks#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:812 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:816 #, 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:815 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:819 #, no-wrap msgid "[.filename]#kde-plasma#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:816 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:820 #, no-wrap msgid "Desktop from the https://www.kde.org/[KDE] Project." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:819 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:823 #, no-wrap msgid "[.filename]#kld#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:820 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:824 #, no-wrap msgid "Kernel loadable modules." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:823 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:827 #, no-wrap msgid "[.filename]#korean#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:824 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:828 #, no-wrap msgid "Korean language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:827 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:831 #, no-wrap msgid "[.filename]#lang#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:828 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:832 #, no-wrap msgid "Programming languages." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:831 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:835 #, no-wrap msgid "[.filename]#linux#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:832 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:836 #, no-wrap msgid "Linux applications and support utilities." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:835 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:839 #, no-wrap msgid "[.filename]#lisp#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:836 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:840 #, no-wrap msgid "Software related to the Lisp language." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:839 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:843 #, no-wrap msgid "[.filename]#mail#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:840 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:844 #, no-wrap msgid "Mail software." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:843 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:847 #, no-wrap msgid "[.filename]#mate#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:844 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:848 #, 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:847 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:851 #, no-wrap msgid "[.filename]#math#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:848 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:852 #, no-wrap msgid "Numerical computation software and other utilities for mathematics." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:851 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:855 #, no-wrap msgid "[.filename]#mbone#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:852 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:856 #, no-wrap msgid "MBone applications." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:855 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:859 #, no-wrap msgid "[.filename]#misc#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:856 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:860 #, no-wrap msgid "Miscellaneous utilities" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:858 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:862 #, 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:859 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:863 #, no-wrap msgid "[.filename]#multimedia#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:860 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:864 #, no-wrap msgid "Multimedia software." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:863 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:867 #, no-wrap msgid "[.filename]#net#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:864 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:868 #, no-wrap msgid "Miscellaneous networking software." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:867 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:871 #, no-wrap msgid "[.filename]#net-im#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:868 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:872 #, no-wrap msgid "Instant messaging software." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:871 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:875 #, no-wrap msgid "[.filename]#net-mgmt#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:872 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:876 #, no-wrap msgid "Networking management software." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:875 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:879 #, no-wrap msgid "[.filename]#net-p2p#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:876 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:880 #, no-wrap msgid "Peer to peer network applications." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:879 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:883 #, no-wrap msgid "[.filename]#net-vpn#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:880 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:884 #, no-wrap msgid "Virtual Private Network applications." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:883 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:887 #, no-wrap msgid "[.filename]#news#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:884 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:888 #, no-wrap msgid "USENET news software." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:887 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:891 #, no-wrap msgid "[.filename]#parallel#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:888 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:892 #, no-wrap msgid "Applications dealing with parallelism in computing." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:891 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:895 #, no-wrap msgid "[.filename]#pear#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:892 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:896 #, no-wrap msgid "Ports related to the Pear PHP framework." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:895 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:899 #, no-wrap msgid "[.filename]#perl5#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:896 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:900 #, no-wrap msgid "Ports that require Perl version 5 to run." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:899 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:903 #, no-wrap msgid "[.filename]#plan9#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:900 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:904 #, 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:903 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:907 #, no-wrap msgid "[.filename]#polish#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:904 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:908 #, no-wrap msgid "Polish language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:907 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:911 #, no-wrap msgid "[.filename]#ports-mgmt#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:908 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:912 #, 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:911 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:915 #, no-wrap msgid "[.filename]#portuguese#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:912 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:916 #, no-wrap msgid "Portuguese language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:915 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:919 #, no-wrap msgid "[.filename]#print#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:916 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:920 #, no-wrap msgid "Printing software." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:918 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:922 #, no-wrap msgid "Desktop publishing tools (previewers, etc.) belong here too." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:919 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:923 #, no-wrap msgid "[.filename]#python#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:920 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:924 #, 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:923 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:927 #, no-wrap msgid "[.filename]#ruby#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:924 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:928 #, 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:927 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:931 #, no-wrap msgid "[.filename]#rubygems#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:928 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:932 #, no-wrap msgid "Ports of https://www.rubygems.org/[RubyGems] packages." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:931 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:935 #, no-wrap msgid "[.filename]#russian#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:932 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:936 #, no-wrap msgid "Russian language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:935 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:939 #, no-wrap msgid "[.filename]#scheme#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:936 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:940 #, no-wrap msgid "Software related to the Scheme language." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:939 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:943 #, no-wrap msgid "[.filename]#science#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:940 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:944 #, 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:943 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:947 #, no-wrap msgid "[.filename]#security#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:944 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:948 #, no-wrap msgid "Security utilities." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:947 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:951 #, no-wrap msgid "[.filename]#shells#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:948 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:952 #, no-wrap msgid "Command line shells." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:951 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:955 #, no-wrap msgid "[.filename]#spanish#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:952 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:956 #, no-wrap msgid "Spanish language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:955 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:959 #, no-wrap msgid "[.filename]#sysutils#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:956 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:960 #, no-wrap msgid "System utilities." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:959 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:963 #, no-wrap msgid "[.filename]#tcl#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:960 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:964 #, no-wrap msgid "Ports that use Tcl to run." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:963 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:967 #, no-wrap msgid "[.filename]#textproc#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:964 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:968 #, no-wrap msgid "Text processing utilities." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:966 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:970 #, 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:967 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:971 #, no-wrap msgid "[.filename]#tk#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:968 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:972 #, no-wrap msgid "Ports that use Tk to run." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:971 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:975 #, no-wrap msgid "[.filename]#ukrainian#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:972 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:976 #, no-wrap msgid "Ukrainian language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:975 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:979 #, no-wrap msgid "[.filename]#vietnamese#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:976 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:980 #, no-wrap msgid "Vietnamese language support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:979 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:983 #, no-wrap msgid "[.filename]#wayland#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:980 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:984 #, no-wrap msgid "Ports to support the Wayland display server." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:983 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:987 #, no-wrap msgid "[.filename]#windowmaker#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:984 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:988 #, no-wrap msgid "Ports to support the Window Maker window manager." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:987 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:991 #, no-wrap msgid "[.filename]#www#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:988 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:992 #, no-wrap msgid "Software related to the World Wide Web." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:990 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:994 #, no-wrap msgid "HTML language support belongs here too." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:991 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:995 #, no-wrap msgid "[.filename]#x11#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:992 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:996 #, no-wrap msgid "The X Window System and friends." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:994 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:998 #, 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:995 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:999 #, no-wrap msgid "[.filename]#x11-clocks#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:996 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1000 #, no-wrap msgid "X11 clocks." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:999 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1003 #, no-wrap msgid "[.filename]#x11-drivers#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1000 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1004 #, no-wrap msgid "X11 drivers." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1003 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1007 #, no-wrap msgid "[.filename]#x11-fm#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1004 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1008 #, no-wrap msgid "X11 file managers." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1007 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1011 #, no-wrap msgid "[.filename]#x11-fonts#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1008 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1012 #, no-wrap msgid "X11 fonts and font utilities." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1011 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1015 #, no-wrap msgid "[.filename]#x11-servers#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1012 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1016 #, no-wrap msgid "X11 servers." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1015 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1019 #, no-wrap msgid "[.filename]#x11-themes#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1016 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1020 #, no-wrap msgid "X11 themes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1019 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1023 #, no-wrap msgid "[.filename]#x11-toolkits#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1020 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1024 #, no-wrap msgid "X11 toolkits." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1023 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1027 #, no-wrap msgid "[.filename]#x11-wm#" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1024 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1028 #, no-wrap msgid "X11 window managers." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1027 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1031 #, no-wrap msgid "[.filename]#xfce#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1028 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1032 #, 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:1031 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1035 #, no-wrap msgid "[.filename]#zope#`*`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1032 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1036 #, no-wrap msgid "https://www.zope.org/[Zope] support." msgstr "" #. type: Title === -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1036 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1040 #, no-wrap msgid "Choosing the Right Category" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1041 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1045 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:1044 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1048 msgid "" "The first category must be a physical category (see " "crossref:makefiles[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:1045 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1049 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:1046 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1050 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:1047 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1051 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:1048 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1052 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:1049 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1053 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:1050 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1054 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:1051 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1055 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:1055 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1059 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:1057 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1061 #, no-wrap msgid "Proposing a New Category" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1062 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1066 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:1064 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1068 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:1068 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1072 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:1070 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1074 msgid "Here is the procedure:" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1073 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1077 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:1074 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1078 msgid "Participate in the discussion." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1075 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1079 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:1077 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1081 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:1078 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1082 msgid "[.filename]#Makefile# for the new category" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1079 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1083 msgid "[.filename]#Makefile# for the old ports' categories" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1080 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1084 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:1081 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1085 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:1083 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1087 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:1084 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1088 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:1087 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1091 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:1089 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1093 #, no-wrap msgid "Proposing Reorganizing All the Categories" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1095 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1099 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:1097 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1101 #, no-wrap msgid "The Distribution Files" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1100 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1104 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:1102 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1106 #, no-wrap msgid "`DISTNAME`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1109 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1113 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:1112 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1116 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:1117 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1121 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:1121 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1125 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:1123 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1127 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:1125 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1129 #, no-wrap msgid "Deriving `PORTVERSION` Manually" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1131 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1135 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:1133 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1137 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:1140 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1144 #, 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:1143 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1147 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:1144 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1148 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:1146 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1150 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:1155 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1159 #, 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:1159 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1163 #, 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:1161 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1165 #, no-wrap msgid "LICENSE=\tISCL\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1164 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1168 #, 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:1170 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1174 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:1173 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1177 #, no-wrap msgid "Derive `DISTNAME` from `PORTVERSION`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1177 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1181 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:1179 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1183 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:1187 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1191 #, 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:1191 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1195 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:1194 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1198 #, no-wrap msgid "Exotic Case 1" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1198 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1202 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:1200 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1204 msgid "From package:audio/libworkman[]:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1208 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1212 #, 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:1213 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1217 #, no-wrap msgid "Exotic Case 2" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1218 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1222 msgid "" "In package:comms/librs232[], the distribution file is not versioned, so " "using crossref:makefiles[makefile-dist_subdir,`DIST_SUBDIR`] is needed:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1227 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1231 #, 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:1235 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1239 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:1238 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4893 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1242 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4897 #, no-wrap msgid "`MASTER_SITES`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1242 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1246 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:1244 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1248 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:1247 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1251 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:1255 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1259 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:1258 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1262 #, no-wrap msgid "Using `MASTER_SITE_*` Variables" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1261 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1265 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:1265 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1269 #, no-wrap msgid "MASTER_SITES=\tGNU/make\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1269 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1273 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:1274 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1278 #, 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:1278 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1282 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:1283 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1287 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:1287 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1291 #, no-wrap msgid "MASTER_SITES=\tFOO\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1290 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1294 msgid "If `MASTER_SITE_SUBDIR` is needed, use this:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1294 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1298 #, no-wrap msgid "MASTER_SITES=\tFOO/bar\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1301 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1305 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:1303 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1307 #, no-wrap msgid "Shortcuts for `MASTER_SITE_*` Macros" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1307 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1365 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1311 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1369 #, no-wrap msgid "Macro" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1309 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1313 #, no-wrap msgid "Shortcut" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1310 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1314 #, no-wrap msgid "`PERL_CPAN`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1312 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1383 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1316 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1387 #, no-wrap msgid "`CPAN`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1313 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1317 #, no-wrap msgid "`GITHUB`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1315 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1404 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1319 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1408 #, no-wrap msgid "`GH`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1316 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1320 #, no-wrap msgid "`GITHUB_CLOUD`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1318 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1407 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1322 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1411 #, no-wrap msgid "`GHC`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1319 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1323 #, no-wrap msgid "`LIBREOFFICE_DEV`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1321 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1425 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1325 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1429 #, no-wrap msgid "`LODEV`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1322 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1326 #, no-wrap msgid "`NETLIB`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1324 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1434 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1328 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1438 #, no-wrap msgid "`NL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1325 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1329 #, no-wrap msgid "`RUBYGEMS`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1327 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1331 #, no-wrap msgid "`RG`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1328 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1332 #, no-wrap msgid "`SOURCEFORGE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1329 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1446 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1333 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1450 #, no-wrap msgid "`SF`" msgstr "" #. type: Title ==== -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1333 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1337 #, no-wrap msgid "Magic MASTER_SITES Macros" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1338 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1342 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:1342 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1346 #, no-wrap msgid "MASTER_SITES=\tSF\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1346 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1350 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:1350 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1354 #, no-wrap msgid "MASTER_SITES=\tSF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1353 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1357 msgid "This can also be written as" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1358 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1362 #, 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:1361 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1365 #, no-wrap msgid "Magic `MASTER_SITES` Macros" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1367 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1371 #, no-wrap msgid "Assumed subdirectory" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1368 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1372 #, no-wrap msgid "`APACHE_COMMONS_BINARIES`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1370 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1373 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1374 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1377 #, no-wrap msgid "`${PORTNAME:S,commons-,,}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1371 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1375 #, no-wrap msgid "`APACHE_COMMONS_SOURCE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1374 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1378 #, no-wrap msgid "`APACHE_JAKARTA`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1376 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1380 #, no-wrap msgid "`${PORTNAME:S,-,/,}/source`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1377 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1381 #, no-wrap msgid "`BERLIOS`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1379 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1383 #, no-wrap msgid "`${PORTNAME:tl}.berlios`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1380 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1384 #, no-wrap msgid "`CHEESESHOP`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1382 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1386 #, no-wrap msgid "`source/${DISTNAME:C/(.).\\*/\\1/}/${DISTNAME:C/(.*)-[0-9].*/\\1/}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1385 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1389 #, no-wrap msgid "`${PORTNAME:C/-.*//}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1386 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1390 #, no-wrap msgid "`DEBIAN`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1388 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1392 #, no-wrap msgid "`pool/main/${PORTNAME:C/^((lib)?.).*$/\\1/}/${PORTNAME}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1389 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1393 #, no-wrap msgid "`FARSIGHT`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1391 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1415 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1418 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1421 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1424 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1427 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1436 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1442 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1475 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1395 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1419 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1422 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1425 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1428 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1431 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1440 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1446 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1479 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1888 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1483 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1892 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1896 #, no-wrap msgid "`${PORTNAME}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1392 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1396 #, no-wrap msgid "`FESTIVAL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1394 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1398 #, no-wrap msgid "`${PORTREVISION}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1395 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1399 #, no-wrap msgid "`GCC`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1397 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1401 #, no-wrap msgid "`releases/${DISTNAME}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1398 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1402 #, no-wrap msgid "`GENTOO`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1400 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1404 #, no-wrap msgid "`distfiles`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1401 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1405 #, no-wrap msgid "`GIMP`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1403 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1407 #, no-wrap msgid "`${PORTNAME}/${PORTVERSION:R}/`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1406 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1410 #, no-wrap msgid "`${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}?dummy=/`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1409 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1413 #, no-wrap msgid "`${GH_ACCOUNT}/${GH_PROJECT}/`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1410 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1414 #, no-wrap msgid "`GNOME`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1412 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1416 #, no-wrap msgid "`sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\\.[0-9]+).*/\\1/}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1413 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1417 #, no-wrap msgid "`GNU`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1416 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1420 #, no-wrap msgid "`GNUPG`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1419 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1423 #, no-wrap msgid "`GNU_ALPHA`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1422 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1426 #, no-wrap msgid "`HORDE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1428 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1432 #, no-wrap msgid "`MATE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1430 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1434 #, no-wrap msgid "`${PORTVERSION:C/^([0-9]+\\.[0-9]+).*/\\1/}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1431 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1435 #, no-wrap msgid "`MOZDEV`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1433 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1445 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1437 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1449 #, no-wrap msgid "`${PORTNAME:tl}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1437 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1441 #, no-wrap msgid "`QT`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1439 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1443 #, no-wrap msgid "`archive/qt/${PORTVERSION:R}`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1440 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1444 #, no-wrap msgid "`SAMBA`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1443 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1447 #, no-wrap msgid "`SAVANNAH`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1447 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1451 #, no-wrap msgid "`${PORTNAME:tl}/${PORTNAME:tl}/${PORTVERSION}`" msgstr "" #. type: Title === -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1450 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1454 #, no-wrap msgid "`USE_GITHUB`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1454 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1458 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." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1459 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1463 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:1462 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1466 msgid "These variables are available:" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1464 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1468 #, no-wrap msgid "`USE_GITHUB` Description" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1468 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1877 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3677 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1472 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1881 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3681 #, no-wrap msgid "Variable" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1471 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1880 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1475 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1884 #, no-wrap msgid "Default" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1472 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4875 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1476 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4879 #, no-wrap msgid "`GH_ACCOUNT`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1473 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1477 #, 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:1476 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4876 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1480 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4880 #, no-wrap msgid "`GH_PROJECT`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1477 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1481 #, no-wrap msgid "Name of the project on GitHub" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1480 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4878 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1484 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4882 #, no-wrap msgid "`GH_TAGNAME`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1481 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1485 #, 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:1483 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1487 #, no-wrap msgid "`${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1484 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4877 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1488 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4881 #, no-wrap msgid "`GH_SUBDIR`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1487 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1491 #, no-wrap msgid "" "When the software needs an additional distribution file to be extracted within\n" "`${WRKSRC}`, this variable can be used. See the examples in\n" "crossref:makefiles[makefile-master_sites-github-multiple, Fetching Multiple Files from GitHub] for more information." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1489 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1902 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1493 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1906 #, no-wrap msgid "(none)" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1490 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4879 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1494 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4883 #, no-wrap msgid "`GH_TUPLE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1491 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1495 #, 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:1497 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1501 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:1500 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1504 #, no-wrap msgid "Simple Use of `USE_GITHUB`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1505 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1509 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:1510 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1514 #, 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:1513 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1517 #, no-wrap msgid "" "USE_GITHUB=\tyes\n" "GH_ACCOUNT=\tfreebsd\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1516 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1520 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:1519 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1523 #, no-wrap msgid "More Complete Use of `USE_GITHUB`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1523 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1527 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:1528 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1532 #, 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:1533 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1537 #, 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:1536 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1540 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:1540 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1544 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:1545 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1549 #, no-wrap msgid "Use of `USE_GITHUB` with `DISTVERSIONPREFIX`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1551 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1555 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:1557 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1561 #, 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:1559 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1623 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1563 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1627 #, no-wrap msgid "USE_GITHUB=\tyes\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1562 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1566 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:1565 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1569 #, 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:1570 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1574 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:1575 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1579 #, no-wrap msgid "" "PORTNAME=\tbar\n" "DISTVERSION=\tg20140411\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1578 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1582 #, no-wrap msgid "" "USE_GITHUB=\tyes\n" "GH_TAGNAME=\tc472d66b\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1582 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1586 msgid "" "This creates a versioning scheme that increases over time, and that is still " "before version `0` (see crossref:makefiles[makefile-versions-ex-pkg-version, " "Using man:pkg-version\\[8\\] to Compare Versions] for details on man:pkg-" "version[8]):" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1587 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1591 #, no-wrap msgid "" "% pkg version -t g20140411 0\n" "<\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1590 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1594 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:1593 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1597 #, 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:1597 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1601 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:1602 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1606 #, 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:1605 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1609 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:1606 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1610 #, no-wrap msgid "`v0.7.3`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1608 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1612 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:1609 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1613 #, no-wrap msgid "`-14`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1611 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1615 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:1612 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1616 #, no-wrap msgid "`-gf0038b1`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1614 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1618 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:1621 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1625 #, 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:1627 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1631 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 crossref:makefiles[makefile-versions-ex-pkg-version, Using man:pkg-" "version\\[8\\] to Compare Versions] for details on man:pkg-version[8]):" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1634 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1638 #, 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:1640 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1644 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:1645 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1649 #, 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:1648 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1652 #, 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:1655 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1659 #, no-wrap msgid "Fetching Multiple Files from GitHub" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1659 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1663 msgid "" "The `USE_GITHUB` framework also supports fetching multiple distribution " "files from different places in GitHub. It works in a way very similar to " "crossref:makefiles[porting-master-sites-n, Multiple Distribution or Patches " "Files from Multiple Locations]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1665 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1669 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 crossref:makefiles[makefile-master_sites-github-" "description,`USE_GITHUB` Description]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1668 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1672 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:1671 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1975 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1675 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1979 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:1676 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1980 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1680 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1984 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:1683 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1987 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1687 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1991 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 " "crossref:makefiles[porting-master-sites-n, Multiple Distribution or Patches " "Files from Multiple Locations]" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1687 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1691 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:1691 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1695 #, no-wrap msgid "USE_GITHUB=\tnodefault\n" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1696 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1700 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:1700 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2006 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1704 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2010 #, no-wrap msgid "DISTFILES= ${DISTNAME}${EXTRACT_SUFX}\n" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1705 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1709 #, no-wrap msgid "Use of `USE_GITHUB` with Multiple Distribution Files" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1711 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1715 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:1716 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1762 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2022 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2068 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1720 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1766 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2026 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2072 #, 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:1722 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1726 #, 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:1724 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1768 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1728 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1772 #, no-wrap msgid "CONFIGURE_ARGS=\t--with-contrib=${WRKSRC_contrib}\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1731 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1735 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:1737 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1741 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:1741 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1745 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:1746 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1750 #, 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:1751 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1755 #, 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:1757 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1761 msgid "" "This is functionally equivalent to crossref:makefiles[makefile-master_sites-" "github-multi,Use of `USE_GITHUB` with Multiple Distribution Files], but " "using `GH_TUPLE`:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1766 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1770 #, 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:1772 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1776 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:1775 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1779 #, no-wrap msgid "How to Use `USE_GITHUB` with Git Submodules?" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1780 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1784 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:1783 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1787 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:1788 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1792 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:1804 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1808 #, 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:1808 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1812 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:1837 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1841 #, 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:1841 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1845 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:1847 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1851 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:1850 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1854 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:1856 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1860 #, 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:1863 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1867 #, 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:1868 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1872 #, no-wrap msgid "`USE_GITLAB`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1871 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1875 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:1873 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1877 #, no-wrap msgid "`USE_GITLAB` Description" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1881 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4883 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1885 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4887 #, no-wrap msgid "`GL_SITE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1882 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1886 #, no-wrap msgid "Site name hosting the GitLab project" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1884 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1888 #, no-wrap msgid "https://gitlab.com/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1885 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4880 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1889 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4884 #, no-wrap msgid "`GL_ACCOUNT`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1886 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1890 #, 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:1889 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4882 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1893 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4886 #, no-wrap msgid "`GL_PROJECT`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1890 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1894 #, no-wrap msgid "Name of the project on GitLab" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1893 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4881 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1897 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4885 #, no-wrap msgid "`GL_COMMIT`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1894 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1898 #, 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:1896 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1900 #, no-wrap msgid "`(none)`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1897 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4884 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1901 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4888 #, no-wrap msgid "`GL_SUBDIR`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1900 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1904 #, no-wrap msgid "" "When the software needs an additional distribution file to be extracted within\n" "`${WRKSRC}`, this variable can be used. See the examples in\n" "\tcrossref:makefiles[makefile-master_sites-gitlab-multiple, Fetching Multiple Files from GitLab] for more information." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1903 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4885 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1907 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4889 #, no-wrap msgid "`GL_TUPLE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1904 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1908 #, 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:1908 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1912 #, no-wrap msgid "Simple Use of `USE_GITLAB`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1912 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1916 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:1917 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1921 #, 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:1921 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1925 #, 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:1924 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1928 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:1927 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1931 #, no-wrap msgid "More Complete Use of `USE_GITLAB`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1932 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1936 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:1937 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1941 #, no-wrap msgid "" "PORTNAME=\tfoobar\n" "DISTVERSION=\tg20170906\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1943 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1947 #, 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:1946 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1950 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:1950 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1954 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:1955 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1959 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:1960 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1964 #, no-wrap msgid "Fetching Multiple Files from GitLab" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1965 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1969 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 crossref:makefiles[porting-master-sites-n, Multiple " "Distribution or Patches Files from Multiple Locations] and " "crossref:makefiles[makefile-master_sites-gitlab-multiple, Fetching Multiple " "Files from GitLab]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1969 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1973 msgid "" "Multiple values are added to `GL_SITE`, `GL_ACCOUNT`, `GL_PROJECT` and " "`GL_COMMIT`. Each different value is assigned a group. " "crossref:makefiles[makefile-master_sites-gitlab-description,`USE_GITLAB` " "Description]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1972 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1976 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:1991 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1995 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:1995 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1999 #, no-wrap msgid "USE_GITLAB=\tnodefault\n" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2002 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2006 msgid "" "When using `USE_GITLAB=nodefault`, the [.filename]#Makefile# must set " "`DISTFILES` in its crossref:makefiles[porting-order-portname,top block]. " "The definition should be:" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2011 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2015 #, no-wrap msgid "Use of `USE_GITLAB` with Multiple Distribution Files" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2017 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2021 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:2029 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2033 #, 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:2031 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2075 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2035 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2079 #, no-wrap msgid "CONFIGURE_ARGS= --with-contrib=${WRKSRC_contrib}\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2038 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2042 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:2044 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2048 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:2048 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2052 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:2053 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2057 #, 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:2058 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2062 #, 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:2063 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2067 msgid "" "This is functionally equivalent to crossref:makefiles[makefile-master_sites-" "gitlab-multi,Use of `USE_GITLAB` with Multiple Distribution Files], but " "using `GL_TUPLE`:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2073 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2077 #, 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:2079 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2083 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:2082 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2086 #, no-wrap msgid "`EXTRACT_SUFX`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2085 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2089 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:2087 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2091 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:2092 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2096 #, 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:2096 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2100 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:2100 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2104 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:2103 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4872 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2107 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4876 #, no-wrap msgid "`DISTFILES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2108 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2112 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:2110 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2114 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:2114 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2118 #, no-wrap msgid "DISTFILES=\tsource1.tar.gz source2.tar.gz\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2117 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2121 msgid "" "If not explicitly set, `DISTFILES` defaults to `${DISTNAME}${EXTRACT_SUFX}`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2119 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4873 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2123 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4877 #, no-wrap msgid "`EXTRACT_ONLY`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2122 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2126 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:2127 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2131 #, 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:2130 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2134 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:2134 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2138 #, no-wrap msgid "EXTRACT_ONLY=\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2137 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4894 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2141 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4898 #, no-wrap msgid "`PATCHFILES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2140 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2144 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:2143 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2147 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:2145 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2149 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:2151 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2155 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:2155 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2159 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:2159 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2163 #, no-wrap msgid "PATCHFILES=\tpatch1 patch2:-p1\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2162 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2166 msgid "" "This does not conflict with crossref:makefiles[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:2166 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2170 #, no-wrap msgid "PATCHFILES=\tpatch2:-p1:source2\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2174 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2178 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:2177 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2181 #, 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:2180 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2184 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:2183 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2187 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:2188 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2192 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:2192 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2196 #, no-wrap msgid "DISTFILES=\talpha:0 beta:1\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2195 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2199 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:2197 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2201 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:2200 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2204 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:2203 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2207 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:2206 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2210 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:2211 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2215 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:2214 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2218 #, no-wrap msgid "Simplified Information" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2221 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2225 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 crossref:makefiles[ports-master-sites-n-" "detailed, Detailed Information]." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2225 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2229 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:2228 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2232 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:2232 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2236 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 crossref:makefiles[ports-master-sites-n-example-simple-" "use-one-file-per-site,Simplified Use of `MASTER_SITES:n` with One File Per " "Site]." msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2234 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2238 #, 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:2244 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2248 #, 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:2252 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2256 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 " "crossref:makefiles[ports-master-sites-n-example-simple-use-more-than-one-" "file-per-site,Simplified Use of `MASTER_SITES:n` with More Than One File Per " "Site]." msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2254 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2258 #, 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:2265 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2269 #, 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:2270 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2274 #, no-wrap msgid "Detailed Information" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2273 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2277 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:2275 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2279 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:2277 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2281 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:2283 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2287 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 crossref:makefiles[porting-master-sites-n-what-changes-in-port-targets, " "ii]). Furthermore, `DEFAULT` is a special purpose word (check item " "crossref:makefiles[porting-master-sites-n-DEFAULT-group,3])." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2284 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2288 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:2290 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2294 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 crossref:makefiles[porting-master-sites-n-comma-" "operator,5])." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2292 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2296 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:2296 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2300 #, no-wrap msgid "MASTER_SITES=\talpha\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2301 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2305 #, no-wrap msgid "MASTER_SITES=\talpha:DEFAULT\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2304 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2308 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:2307 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2311 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:2310 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2314 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:2312 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2316 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:2316 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2320 #, no-wrap msgid "MASTER_SITES=\talpha alpha:SOME_SITE\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2321 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2325 #, 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:2326 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2330 #, no-wrap msgid "MASTER_SITES=\talpha:SOME_SITE,DEFAULT\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2331 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2335 #, no-wrap msgid "MASTER_SITES=\talpha:DEFAULT,SOME_SITE\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2334 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2338 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:2337 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2341 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:2351 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2355 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 " "crossref:makefiles[ports-master-sites-n-example-detailed-use-master-site-" "subdir,Detailed Use of `MASTER_SITES:n` in `MASTER_SITE_SUBDIR`] and " "crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-" "example-master-sites,Detailed Use of `MASTER_SITES:n` with Comma Operator, " "Multiple Files, Multiple Sites and Multiple Subdirectories]." msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2353 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2357 #, 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:2360 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2364 #, no-wrap msgid "MASTER_SITE_SUBDIR=\told:n new/:NEW\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2363 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2367 msgid "Directories within group `DEFAULT` -> old:n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2364 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2368 msgid "Directories within group `NEW` -> new" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2368 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2372 #, 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:2386 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2390 #, 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:2390 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2394 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:2392 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2396 msgid "[.filename]#file1# will be fetched from" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2394 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2404 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2414 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2420 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2430 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2435 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2398 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2408 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2418 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2424 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2434 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2439 msgid "`MASTER_SITE_OVERRIDE`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2395 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2405 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2399 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2409 msgid "http://site1/directory-trial:1/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2396 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2406 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2400 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2410 msgid "http://site1/directory-one/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2397 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2407 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2401 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2411 msgid "http://site1/directory/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2398 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2408 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2402 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2412 msgid "http://site2/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2399 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2409 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2424 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2403 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2413 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2428 msgid "http://site7/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2400 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2410 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2416 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2426 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2431 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2437 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2404 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2414 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2420 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2430 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2435 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2441 msgid "`MASTER_SITE_BACKUP`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2402 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2406 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:2412 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2416 msgid "[.filename]#file3# will be fetched from" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2415 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2419 msgid "http://site3/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2418 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2422 msgid "[.filename]#file4# will be fetched from" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2421 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2425 msgid "http://site4/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2422 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2426 msgid "http://site5/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2423 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2427 msgid "http://site6/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2425 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2429 msgid "http://site8/directory-one/" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2428 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2432 msgid "[.filename]#file5# will be fetched from" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2433 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2437 msgid "[.filename]#file6# will be fetched from" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2436 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2440 msgid "http://site8/" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2441 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2445 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:2445 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2449 msgid "" "This has been simplified as much as possible. See crossref:makefiles[ports-" "master-sites-n-example-detailed-use-master-site-sourceforge,Detailed Use of " "`MASTER_SITES:n` with SourceForge (`SF`)]." msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2447 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2451 #, 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:2455 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2459 #, 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:2458 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2462 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:2460 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2464 msgid "How do I use this with `PATCH*`?" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2464 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2468 msgid "" "All examples were done with `MASTER*` but they work exactly the same for " "`PATCH*` ones as can be seen in crossref:makefiles[ports-master-sites-n-" "example-detailed-use-patch-sites,Simplified Use of `MASTER_SITES:n` with " "`PATCH_SITES`]." msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2466 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2470 #, 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:2474 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2478 #, 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:2479 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2483 #, 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:2486 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2490 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 " "crossref:makefiles[porting-master-sites-n-group-semantics, 7]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2489 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2493 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:2495 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2499 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 crossref:makefiles[ports-" "master-sites-n-example-detailed-use-complete-example-master-sites,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:2496 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2500 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:2497 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2501 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:2502 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2506 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 crossref:makefiles[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:2504 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2508 msgid "New port targets" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2505 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2509 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:2508 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2512 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:2510 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2514 #, no-wrap msgid "`DIST_SUBDIR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2515 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2519 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:2517 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2521 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:2521 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2525 msgid "" "This does not affect `MASTER_SITES` defined in the [.filename]#Makefile#." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2524 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2528 #, no-wrap msgid "`MAINTAINER`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2527 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2531 msgid "Set your mail-address here. Please. _:-)_" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2532 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2536 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:2535 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2539 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:2544 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2548 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:2547 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2551 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:2550 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2554 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:2557 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2561 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:2561 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2565 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:2563 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2567 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:2565 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2569 #, no-wrap msgid "`COMMENT`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2569 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2573 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:2571 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2575 msgid "The COMMENT string should be 70 characters or less." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2572 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2576 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:2573 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2577 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:2574 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2578 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:2575 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2579 msgid "Capitalize names such as Apache, JavaScript, or Perl." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2576 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2580 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:2577 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2581 msgid "Check for spelling errors." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2579 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2583 msgid "Here is an example:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2583 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2587 #, 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:2586 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2590 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:2588 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2592 #, no-wrap msgid "Project website" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2591 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2595 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:2593 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2597 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:2597 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2601 #, no-wrap msgid "WWW=\t\thttps://ffmpeg.org/\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2600 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2604 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:2604 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2608 #, no-wrap msgid "WWW=\t\thttps://sourceforge.net/projects/mpd/\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2607 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2611 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:2610 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2614 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:2614 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2618 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:2616 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2620 #, no-wrap msgid "Licenses" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2620 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2624 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:2622 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2626 #, no-wrap msgid "`LICENSE`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2625 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2629 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:2627 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2631 msgid "" "If it is one of the licenses listed in crossref:makefiles[licenses-license-" "list,Predefined 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:2631 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2635 msgid "" "If this is a license that has not been defined in the ports framework (see " "crossref:makefiles[licenses-license-list,Predefined 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:2634 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2638 msgid "" "The predefined licenses are shown in crossref:makefiles[licenses-license-" "list,Predefined 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:2636 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2640 #, no-wrap msgid "Simplest Usage, Predefined Licenses" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2641 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2645 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:2645 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2649 #, no-wrap msgid "LICENSE=\tLGPL21+\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2648 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2652 msgid "When the software provides the license file, use this:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2653 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2657 #, 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:2658 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2662 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:2660 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2664 #, no-wrap msgid "Predefined License List" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2664 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2668 #, no-wrap msgid "Short Name" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2665 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2669 #, no-wrap msgid "Name" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2666 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2670 #, no-wrap msgid "Group" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2668 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2672 #, no-wrap msgid "Permissions" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2669 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2673 #, no-wrap msgid "`AGPLv3`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2670 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2674 #, no-wrap msgid "GNU Affero General Public License version 3" msgstr "" #. type: Table -#: 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:2701 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2901 -#: 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: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:2966 -#: 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:3101 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2675 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2680 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2705 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2905 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2920 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2925 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2930 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2935 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2940 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2945 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2950 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2955 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2960 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2970 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2975 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2980 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2985 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2990 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2995 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3105 #, no-wrap msgid "`FSF GPL OSI`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2673 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2677 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2682 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2687 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2692 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2697 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2702 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2707 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2712 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2717 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2722 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2727 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2732 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2737 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2742 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2747 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2752 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2757 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2762 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2842 +#: 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:2892 +#: 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: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:2962 +#: 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:2982 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2987 +#: 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:3037 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3042 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3047 +#: 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:3067 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3072 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3077 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3082 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3087 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3092 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3097 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3102 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3107 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3112 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3117 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3122 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3127 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3132 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3137 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3141 +#, no-wrap +msgid "(default)" +msgstr "" + +#. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2678 +#, no-wrap +msgid "`AGPLv3+`" +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2679 +#, no-wrap +msgid "GNU Affero General Public License version 3 (or later)" +msgstr "" + +#. type: Table #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2683 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2688 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2693 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2698 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2703 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2708 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2713 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2718 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2723 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2728 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2733 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2738 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2743 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2748 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2753 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2758 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2838 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2843 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2848 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2853 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2858 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2863 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2868 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2873 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2878 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2883 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2888 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2893 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2898 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2903 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2908 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2913 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2918 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2923 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2928 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2933 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2938 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2943 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2948 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2953 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2958 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2963 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2968 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2973 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2978 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2983 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2988 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2993 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3033 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3038 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3043 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3048 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3053 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3063 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3068 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3073 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3078 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3083 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3088 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3093 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3098 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3103 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3108 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3113 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3118 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3123 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3128 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3133 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3137 -#, no-wrap -msgid "(default)" -msgstr "" - -#. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2674 -#, no-wrap -msgid "`AGPLv3+`" -msgstr "" - -#. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2675 -#, no-wrap -msgid "GNU Affero General Public License version 3 (or later)" -msgstr "" - -#. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2679 #, no-wrap msgid "`APACHE10`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2680 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2684 #, no-wrap msgid "Apache License 1.0" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2681 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2726 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2911 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3076 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3111 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3260 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2685 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2730 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2915 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3080 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3115 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3264 #, no-wrap msgid "`FSF`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2684 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2688 #, no-wrap msgid "`APACHE11`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2685 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2689 #, no-wrap msgid "Apache License 1.1" msgstr "" #. type: Table -#: 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:2891 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2896 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2906 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2996 -#: 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: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:3086 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3091 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3096 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2690 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2695 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2895 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2900 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2910 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3000 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3005 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3010 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3015 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3020 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3025 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3030 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3040 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3045 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3050 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3090 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3095 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3100 #, no-wrap msgid "`FSF OSI`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2689 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2693 #, no-wrap msgid "`APACHE20`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2690 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2694 #, no-wrap msgid "Apache License 2.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2694 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2698 #, no-wrap msgid "`ART10`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2695 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2699 #, no-wrap msgid "Artistic License version 1.0" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2696 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2706 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3268 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2700 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2710 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3272 #, no-wrap msgid "`OSI`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2699 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2703 #, no-wrap msgid "`ART20`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2700 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2704 #, no-wrap msgid "Artistic License version 2.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2704 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2708 #, no-wrap msgid "`ARTPERL10`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2705 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2709 #, no-wrap msgid "Artistic License (perl) version 1.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2709 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2713 #, no-wrap msgid "`BSD`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2710 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2714 #, no-wrap msgid "BSD license Generic Version (deprecated)" msgstr "" #. type: Table -#: 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:2731 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2715 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2720 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2725 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2735 #, no-wrap msgid "`FSF OSI COPYFREE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2714 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2718 #, no-wrap msgid "`BSD2CLAUSE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2715 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2719 #, no-wrap msgid "BSD 2-clause \"Simplified\" License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2719 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2723 #, no-wrap msgid "`BSD3CLAUSE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2720 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2724 #, no-wrap msgid "BSD 3-clause \"New\" or \"Revised\" License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2724 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2728 #, no-wrap msgid "`BSD4CLAUSE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2725 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2729 #, no-wrap msgid "BSD 4-clause \"Original\" or \"Old\" License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2729 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2733 #, no-wrap msgid "`BSL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2730 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2734 #, no-wrap msgid "Boost Software License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2734 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2738 #, no-wrap msgid "`CC-BY-1.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2735 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2739 #, no-wrap msgid "Creative Commons Attribution 1.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2739 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2743 #, no-wrap msgid "`CC-BY-2.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2740 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2744 #, no-wrap msgid "Creative Commons Attribution 2.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2744 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2748 #, no-wrap msgid "`CC-BY-2.5`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2745 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2749 #, no-wrap msgid "Creative Commons Attribution 2.5" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2749 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2753 #, no-wrap msgid "`CC-BY-3.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2750 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2754 #, no-wrap msgid "Creative Commons Attribution 3.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2754 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2758 #, no-wrap msgid "`CC-BY-4.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2755 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2759 #, no-wrap msgid "Creative Commons Attribution 4.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2759 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2763 #, no-wrap msgid "`CC-BY-NC-1.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2760 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2764 #, no-wrap msgid "Creative Commons Attribution Non Commercial 1.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2763 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2768 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2773 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2778 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2783 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2788 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2793 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2798 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2803 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2808 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2813 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2818 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2823 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2828 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2833 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2767 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2772 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2777 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2782 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2787 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2792 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2797 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2802 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2807 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2812 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2817 +#: 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:2832 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2837 #, no-wrap msgid "`dist-mirror``pkg-mirror``auto-accept`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2764 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2768 #, no-wrap msgid "`CC-BY-NC-2.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2765 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2769 #, no-wrap msgid "Creative Commons Attribution Non Commercial 2.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2769 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2773 #, no-wrap msgid "`CC-BY-NC-2.5`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2770 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2774 #, no-wrap msgid "Creative Commons Attribution Non Commercial 2.5" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2774 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2778 #, no-wrap msgid "`CC-BY-NC-3.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2775 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2779 #, no-wrap msgid "Creative Commons Attribution Non Commercial 3.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2779 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2783 #, no-wrap msgid "`CC-BY-NC-4.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2780 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2784 #, no-wrap msgid "Creative Commons Attribution Non Commercial 4.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2784 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2788 #, no-wrap msgid "`CC-BY-NC-ND-1.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2785 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2789 #, no-wrap msgid "Creative Commons Attribution Non Commercial No Derivatives 1.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2789 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2793 #, no-wrap msgid "`CC-BY-NC-ND-2.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2790 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2794 #, no-wrap msgid "Creative Commons Attribution Non Commercial No Derivatives 2.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2794 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2798 #, no-wrap msgid "`CC-BY-NC-ND-2.5`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2795 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2799 #, no-wrap msgid "Creative Commons Attribution Non Commercial No Derivatives 2.5" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2799 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2803 #, no-wrap msgid "`CC-BY-NC-ND-3.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2800 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2804 #, no-wrap msgid "Creative Commons Attribution Non Commercial No Derivatives 3.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2804 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2808 #, no-wrap msgid "`CC-BY-NC-ND-4.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2805 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2809 #, no-wrap msgid "Creative Commons Attribution Non Commercial No Derivatives 4.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2809 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2813 #, no-wrap msgid "`CC-BY-NC-SA-1.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2810 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2814 #, no-wrap msgid "Creative Commons Attribution Non Commercial Share Alike 1.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2814 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2818 #, no-wrap msgid "`CC-BY-NC-SA-2.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2815 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2819 #, no-wrap msgid "Creative Commons Attribution Non Commercial Share Alike 2.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2819 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2823 #, no-wrap msgid "`CC-BY-NC-SA-2.5`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2820 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2824 #, no-wrap msgid "Creative Commons Attribution Non Commercial Share Alike 2.5" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2824 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2828 #, no-wrap msgid "`CC-BY-NC-SA-3.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2825 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2829 #, no-wrap msgid "Creative Commons Attribution Non Commercial Share Alike 3.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2829 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2833 #, no-wrap msgid "`CC-BY-NC-SA-4.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2830 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2834 #, no-wrap msgid "Creative Commons Attribution Non Commercial Share Alike 4.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2834 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2838 #, no-wrap msgid "`CC-BY-ND-1.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2835 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2839 #, no-wrap msgid "Creative Commons Attribution No Derivatives 1.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2839 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2843 #, no-wrap msgid "`CC-BY-ND-2.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2840 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2844 #, no-wrap msgid "Creative Commons Attribution No Derivatives 2.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2844 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2848 #, no-wrap msgid "`CC-BY-ND-2.5`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2845 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2849 #, no-wrap msgid "Creative Commons Attribution No Derivatives 2.5" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2849 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2853 #, no-wrap msgid "`CC-BY-ND-3.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2850 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2854 #, no-wrap msgid "Creative Commons Attribution No Derivatives 3.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2854 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2858 #, no-wrap msgid "`CC-BY-ND-4.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2855 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2859 #, no-wrap msgid "Creative Commons Attribution No Derivatives 4.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2859 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2863 #, no-wrap msgid "`CC-BY-SA-1.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2860 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2864 #, no-wrap msgid "Creative Commons Attribution Share Alike 1.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2864 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2868 #, no-wrap msgid "`CC-BY-SA-2.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2865 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2869 #, no-wrap msgid "Creative Commons Attribution Share Alike 2.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2869 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2873 #, no-wrap msgid "`CC-BY-SA-2.5`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2870 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2874 #, no-wrap msgid "Creative Commons Attribution Share Alike 2.5" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2874 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2878 #, no-wrap msgid "`CC-BY-SA-3.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2875 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2879 #, no-wrap msgid "Creative Commons Attribution Share Alike 3.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2879 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2883 #, no-wrap msgid "`CC-BY-SA-4.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2880 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2884 #, no-wrap msgid "Creative Commons Attribution Share Alike 4.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2884 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2888 #, no-wrap msgid "`CC0-1.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2885 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2889 #, no-wrap msgid "Creative Commons Zero v1.0 Universal" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2886 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2890 #, no-wrap msgid "`FSF GPL COPYFREE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2889 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2893 #, no-wrap msgid "`CDDL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2890 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2894 #, no-wrap msgid "Common Development and Distribution License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2894 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2898 #, no-wrap msgid "`CPAL-1.0`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2895 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2899 #, no-wrap msgid "Common Public Attribution License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2899 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2903 #, no-wrap msgid "`ClArtistic`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2900 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2904 #, no-wrap msgid "Clarified Artistic License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2904 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2908 #, no-wrap msgid "`EPL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2905 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2909 #, no-wrap msgid "Eclipse Public License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2909 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2913 #, no-wrap msgid "`GFDL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2910 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2914 #, no-wrap msgid "GNU Free Documentation License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2914 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2918 #, no-wrap msgid "`GMGPL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2915 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2919 #, no-wrap msgid "GNAT Modified General Public License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2919 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2923 #, no-wrap msgid "`GPLv1`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2920 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2924 #, no-wrap msgid "GNU General Public License version 1" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2924 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2928 #, no-wrap msgid "`GPLv1+`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2925 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2929 #, no-wrap msgid "GNU General Public License version 1 (or later)" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2929 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2933 #, no-wrap msgid "`GPLv2`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2930 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2934 #, no-wrap msgid "GNU General Public License version 2" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2934 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2938 #, no-wrap msgid "`GPLv2+`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2935 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2939 #, no-wrap msgid "GNU General Public License version 2 (or later)" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2939 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2943 #, no-wrap msgid "`GPLv3`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2940 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2944 #, no-wrap msgid "GNU General Public License version 3" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2944 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2948 #, no-wrap msgid "`GPLv3+`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2945 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2949 #, no-wrap msgid "GNU General Public License version 3 (or later)" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2949 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2953 #, no-wrap msgid "`GPLv3RLE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2950 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2954 #, no-wrap msgid "GNU GPL version 3 Runtime Library Exception" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2954 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2958 #, no-wrap msgid "`GPLv3RLE+`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2955 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2959 #, no-wrap msgid "GNU GPL version 3 Runtime Library Exception (or later)" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2959 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2963 #, no-wrap msgid "`ISCL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2960 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2964 #, no-wrap msgid "Internet Systems Consortium License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2961 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3106 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2965 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3110 #, no-wrap msgid "`FSF GPL OSI COPYFREE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2964 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2968 #, no-wrap msgid "`LGPL20`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2965 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2969 #, no-wrap msgid "GNU Library General Public License version 2.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2969 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2973 #, no-wrap msgid "`LGPL20+`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2970 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2974 #, 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:2974 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2978 #, no-wrap msgid "`LGPL21`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2975 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2979 #, no-wrap msgid "GNU Lesser General Public License version 2.1" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2979 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2983 #, no-wrap msgid "`LGPL21+`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2980 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2984 #, 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:2984 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2988 #, no-wrap msgid "`LGPL3`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2985 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2989 #, no-wrap msgid "GNU Lesser General Public License version 3" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2989 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2993 #, no-wrap msgid "`LGPL3+`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2990 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2994 #, no-wrap msgid "GNU Lesser General Public License version 3 (or later)" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2994 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2998 #, no-wrap msgid "`LPPL10`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2995 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2999 #, no-wrap msgid "LaTeX Project Public License version 1.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2998 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3003 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3008 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3013 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3018 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3023 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3028 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3002 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3007 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3012 +#: 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:3032 #, no-wrap msgid "`dist-mirror dist-sell`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2999 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3003 #, no-wrap msgid "`LPPL11`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3000 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3004 #, no-wrap msgid "LaTeX Project Public License version 1.1" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3004 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3008 #, no-wrap msgid "`LPPL12`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3005 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3009 #, no-wrap msgid "LaTeX Project Public License version 1.2" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3009 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3013 #, no-wrap msgid "`LPPL13`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3010 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3014 #, no-wrap msgid "LaTeX Project Public License version 1.3" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3014 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3018 #, no-wrap msgid "`LPPL13a`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3015 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3019 #, no-wrap msgid "LaTeX Project Public License version 1.3a" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3019 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3023 #, no-wrap msgid "`LPPL13b`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3020 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3024 #, no-wrap msgid "LaTeX Project Public License version 1.3b" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3024 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3028 #, no-wrap msgid "`LPPL13c`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3025 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3029 #, no-wrap msgid "LaTeX Project Public License version 1.3c" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3029 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3033 #, no-wrap msgid "`MIT`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3030 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3034 #, no-wrap msgid "MIT license / X11 license" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3031 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3051 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3035 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3055 #, no-wrap msgid "`COPYFREE FSF GPL OSI`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3034 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3038 #, no-wrap msgid "`MPL10`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3035 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3039 #, no-wrap msgid "Mozilla Public License version 1.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3039 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3043 #, no-wrap msgid "`MPL11`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3040 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3044 #, no-wrap msgid "Mozilla Public License version 1.1" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3044 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3048 #, no-wrap msgid "`MPL20`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3045 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3049 #, no-wrap msgid "Mozilla Public License version 2.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3049 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3053 #, no-wrap msgid "`NCSA`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3050 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3054 #, no-wrap msgid "University of Illinois/NCSA Open Source License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3054 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3058 #, no-wrap msgid "`NONE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3055 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3059 #, no-wrap msgid "No license specified" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3058 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3062 #, no-wrap msgid "`none`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3059 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3063 #, no-wrap msgid "`OFL10`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3060 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3064 #, 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:3061 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3066 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3276 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3065 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3070 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3280 #, no-wrap msgid "`FONTS`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3064 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3068 #, no-wrap msgid "`OFL11`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3065 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3069 #, 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:3069 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3073 #, no-wrap msgid "`OWL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3070 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3074 #, no-wrap msgid "Open Works License (owl.apotheon.org)" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3071 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3272 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3075 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3276 #, no-wrap msgid "`COPYFREE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3074 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3078 #, no-wrap msgid "`OpenSSL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3075 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3079 #, no-wrap msgid "OpenSSL License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3079 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3083 #, no-wrap msgid "`PD`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3080 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3084 #, no-wrap msgid "Public Domain" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3081 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3085 #, no-wrap msgid "`GPL COPYFREE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3084 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3088 #, no-wrap msgid "`PHP202`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3085 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3089 #, no-wrap msgid "PHP License version 2.02" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3089 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3093 #, no-wrap msgid "`PHP30`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3090 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3094 #, no-wrap msgid "PHP License version 3.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3094 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3098 #, no-wrap msgid "`PHP301`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3095 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3099 #, no-wrap msgid "PHP License version 3.01" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3099 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3103 #, no-wrap msgid "`PSFL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3100 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3104 #, no-wrap msgid "Python Software Foundation License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3104 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3108 #, no-wrap msgid "`PostgreSQL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3105 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3109 #, no-wrap msgid "PostgreSQL License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3109 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3113 #, no-wrap msgid "`RUBY`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3110 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3114 #, no-wrap msgid "Ruby License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3114 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3118 #, no-wrap msgid "`UNLICENSE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3115 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3119 #, no-wrap msgid "The Unlicense" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3116 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3120 #, no-wrap msgid "`COPYFREE FSF GPL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3119 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3123 #, no-wrap msgid "`WTFPL`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3120 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3124 #, 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:3121 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3126 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3125 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3130 #, no-wrap msgid "`GPL FSF COPYFREE`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3124 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3128 #, no-wrap msgid "`WTFPL1`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3125 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3129 #, 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:3129 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3133 #, no-wrap msgid "`ZLIB`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3130 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3134 #, no-wrap msgid "zlib License" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3131 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3135 #, no-wrap msgid "`GPL FSF OSI`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3134 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3138 #, no-wrap msgid "`ZPL21`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3135 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3139 #, no-wrap msgid "Zope Public License version 2.1" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3136 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3140 #, no-wrap msgid "`GPL OSI`" msgstr "" #. type: Title === -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3140 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3144 #, no-wrap msgid "`LICENSE_PERMS` and `LICENSE_PERMS_NAME_`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3143 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3147 msgid "Permissions. use `none` if empty." msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3144 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3148 #, no-wrap msgid "License Permissions List" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3146 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3150 #, no-wrap msgid "`dist-mirror`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3149 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3153 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:3151 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3155 #, no-wrap msgid "`no-dist-mirror`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3155 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3159 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:3157 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3161 #, no-wrap msgid "`dist-sell`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3160 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3164 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:3162 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3166 #, no-wrap msgid "`no-dist-sell`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3165 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3169 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:3167 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3171 #, no-wrap msgid "`pkg-mirror`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3170 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3174 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:3172 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3176 #, no-wrap msgid "`no-pkg-mirror`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3176 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3180 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:3178 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3182 #, no-wrap msgid "`pkg-sell`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3181 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3185 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:3183 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3187 #, no-wrap msgid "`no-pkg-sell`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3187 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3191 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:3189 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3193 #, no-wrap msgid "`auto-accept`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3193 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3197 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:3195 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3199 #, no-wrap msgid "`no-auto-accept`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3199 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3203 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:3201 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3205 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:3203 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3207 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:3207 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3211 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:3209 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3213 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:3211 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3215 msgid "" "A port without the `pkg-mirror` permission, and any ports that depend on it, " "will be removed after the build, thus ensuring they are not distributed." msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3214 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3218 #, no-wrap msgid "Nonstandard License" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3218 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3222 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:3226 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3230 #, 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:3231 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3235 #, no-wrap msgid "Standard and Nonstandard Licenses" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3237 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3241 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:3245 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3249 #, 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:3251 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3255 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:3254 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3258 #, no-wrap msgid "`LICENSE_GROUPS` and `LICENSE_GROUPS_NAME`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3257 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3261 msgid "Groups the license belongs." msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3258 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3262 #, no-wrap msgid "Predefined License Groups List" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3262 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3266 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:3264 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3268 #, no-wrap msgid "`GPL`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3266 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3270 msgid "GPL Compatible" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3270 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3274 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:3274 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3278 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:3278 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3282 msgid "Font licenses" msgstr "" #. type: Title === -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3280 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3284 #, no-wrap msgid "`LICENSE_NAME` and `LICENSE_NAME_NAME`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3283 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3287 msgid "Full name of the license." msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3285 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3289 #, no-wrap msgid "`LICENSE_NAME`" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3295 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3299 #, 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:3300 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3304 #, no-wrap msgid "`LICENSE_FILE` and `LICENSE_FILE_NAME`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3305 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3309 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 crossref:makefiles[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:3307 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3311 #, no-wrap msgid "`LICENSE_FILE`" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3315 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3319 #, no-wrap msgid "" "LICENSE=\tGPLv3+\n" "LICENSE_FILE=\t${WRKSRC}/COPYING\n" msgstr "" #. type: Title === -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3320 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3324 #, no-wrap msgid "`LICENSE_TEXT` and `LICENSE_TEXT_NAME`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3324 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3328 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:3326 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3330 #, no-wrap msgid "`LICENSE_TEXT`" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3337 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3341 #, 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:3342 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3346 #, no-wrap msgid "`LICENSE_DISTFILES` and `LICENSE_DISTFILES_NAME`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3346 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3350 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:3348 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3352 #, no-wrap msgid "`LICENSE_DISTFILES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3353 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3357 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:3358 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3362 #, 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:3366 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3370 #, 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:3371 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3375 #, no-wrap msgid "`LICENSE_COMB`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3376 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3380 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:3378 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3382 #, no-wrap msgid "Dual Licenses" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3385 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3389 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:3390 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3394 #, no-wrap msgid "" "LICENSE=\tART10 GPLv1\n" "LICENSE_COMB= dual\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3393 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3397 msgid "If license files are provided, use this:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3400 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3404 #, 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:3405 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3409 #, no-wrap msgid "Multiple Licenses" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3410 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3414 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:3415 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3419 #, no-wrap msgid "" "LICENSE=\tGPLv2 LGPL21+\n" "LICENSE_COMB=\tmulti\n" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3420 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3424 #, no-wrap msgid "`PORTSCOUT`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3423 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3427 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:3425 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3429 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:3427 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3431 msgid "Situations where `PORTSCOUT` is set include:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3429 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3433 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:3433 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3437 #, no-wrap msgid "PORTSCOUT=\tskipv:8.2,8.3\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3436 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3440 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:3440 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3444 #, no-wrap msgid "PORTSCOUT=\tignore:1\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3443 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3447 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:3447 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3451 #, no-wrap msgid "PORTSCOUT=\tlimit:^0\\.6\\.4\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3450 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3454 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:3454 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3458 #, no-wrap msgid "PORTSCOUT=\tsite:http://www.renpy.org/dl/release/\n" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3457 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3461 #, no-wrap msgid "Dependencies" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3464 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3468 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:3470 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3474 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:3473 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4826 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3477 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4830 #, no-wrap msgid "`LIB_DEPENDS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3478 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3482 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:3482 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3486 #, no-wrap msgid "LIB_DEPENDS= libjpeg.so:graphics/jpeg\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3485 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3489 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:3488 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3492 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:3490 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4827 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3494 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4831 #, no-wrap msgid "`RUN_DEPENDS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3495 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3499 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:3497 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3501 msgid "For example," msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3502 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3506 #, 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:3506 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3510 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:3511 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3515 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:3516 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3520 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:3520 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3524 #, 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:3527 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3531 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:3530 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3534 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:3534 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3538 #, no-wrap msgid "RUN_DEPENDS=\t${BUILD_DEPENDS}\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3541 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3545 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:3548 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3552 #, 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:3554 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3558 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:3557 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4825 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3561 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4829 #, no-wrap msgid "`BUILD_DEPENDS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3562 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3566 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:3566 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3570 #, no-wrap msgid "BUILD_DEPENDS=\tunzip:archivers/unzip\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3569 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3607 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3573 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3611 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:3575 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3579 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:3578 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4824 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3582 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4828 #, no-wrap msgid "`FETCH_DEPENDS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3583 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3587 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:3587 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3591 #, no-wrap msgid "FETCH_DEPENDS=\tncftp2:net/ncftp2\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3590 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3594 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:3593 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3597 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:3595 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4822 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3599 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4826 #, no-wrap msgid "`EXTRACT_DEPENDS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3600 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3604 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:3604 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3608 #, no-wrap msgid "EXTRACT_DEPENDS=\tunzip:archivers/unzip\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3610 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3614 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:3614 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3618 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:3617 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4823 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3621 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4827 #, no-wrap msgid "`PATCH_DEPENDS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3621 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3625 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:3625 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3629 #, no-wrap msgid "PATCH_DEPENDS=\t${NONEXISTENT}:java/jfc:extract\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3628 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3632 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:3631 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3635 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:3633 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4904 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3637 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4908 #, no-wrap msgid "`USES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3637 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3641 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:3641 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3645 #, no-wrap msgid "USES= feature[:arguments]\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3644 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3648 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:3648 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3652 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:3651 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3673 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4201 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3655 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3677 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4205 #, no-wrap msgid "`USE_*`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3658 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3662 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:3663 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3667 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:3667 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3671 #, no-wrap msgid "USE_GCC=X.Y\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3670 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3674 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:3679 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3683 #, no-wrap msgid "Means" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3680 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3684 #, no-wrap msgid "`USE_GCC`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3705 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3709 #, 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:3714 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3718 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:3716 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3720 #, no-wrap msgid "Minimal Version of a Dependency" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3719 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3723 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:3723 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3727 #, no-wrap msgid "p5-Spiffy>=0.26:devel/p5-Spiffy\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3727 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3731 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:3729 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3733 #, no-wrap msgid "Notes on Dependencies" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3735 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3739 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:3739 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3743 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:3744 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3748 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:3748 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3752 #, no-wrap msgid "BUILD_DEPENDS=\t${NONEXISTENT}:graphics/jpeg:extract\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3751 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3755 msgid "will always descend to the `jpeg` port and extract it." msgstr "" #. type: Title === -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3753 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3757 #, no-wrap msgid "Circular Dependencies Are Fatal" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3758 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3762 msgid "Do not introduce any circular dependencies into the ports tree!" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3765 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3769 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:3767 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3771 #, no-wrap msgid "Problems Caused by Automatic Dependencies" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3772 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3776 msgid "" "Dependencies must be declared either explicitly or by using the " "crossref:makefiles[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:3774 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3778 #, no-wrap msgid "Wrong Declaration of an Optional Dependency" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3781 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3785 #, no-wrap msgid ".include \n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3785 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3789 #, 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:3794 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3798 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:3796 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3800 #, no-wrap msgid "Correct Declaration of an Optional Dependency" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3804 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3808 #, 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:3806 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3810 #, 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:3813 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3817 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:3815 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3819 #, no-wrap msgid "Slave Ports and `MASTERDIR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3822 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3826 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 " "crossref:makefiles[porting-pkgname,`PKGNAMESUFFIX`] so the packages will " "have different names." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3825 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3829 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:3831 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3835 #, 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:3833 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3837 #, 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:3846 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3850 #, 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:3850 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3854 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:3852 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3856 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:3857 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3861 #, 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:3859 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3863 #, no-wrap msgid ".include\t\"${MASTERDIR}/Makefile\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3864 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3868 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:3866 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3870 #, no-wrap msgid "Man Pages" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3871 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3875 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:3873 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3877 #, no-wrap msgid "Info Files" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3880 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3884 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:3884 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3888 #, no-wrap msgid "INFO=\tgcc34/cpp gcc34/cppinternals gcc34/g77 ...\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3887 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3891 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:3889 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3893 #, no-wrap msgid "Makefile Options" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3894 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3898 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:3896 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3900 #, no-wrap msgid "`OPTIONS`" msgstr "" #. type: Title ==== -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3899 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3903 #, no-wrap msgid "Background" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3905 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3909 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:3909 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3913 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:3911 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3915 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:3914 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3918 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:3916 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3920 #, no-wrap msgid "Syntax" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3920 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3924 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:3924 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4353 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4650 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4707 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4771 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3928 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4357 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4654 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4711 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4775 #, no-wrap msgid "OPTIONS_DEFINE=\tOPT1 OPT2\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3927 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3931 msgid "" "Once defined, `OPTIONS` are described (optional, but strongly recommended):" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3936 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3940 #, 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:3940 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3944 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:3946 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3950 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:3952 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3956 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:3955 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3959 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:3960 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3964 #, 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:3966 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3970 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:3969 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3973 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:3974 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3978 #, 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:3977 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3981 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:3982 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3986 #, 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:3985 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3989 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:3990 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3994 #, 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:3993 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3997 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:3997 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4001 #, no-wrap msgid "OPTIONS_DEFAULT=\tOPT1 OPT3 OPT6\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4003 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4007 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:4005 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4009 #, no-wrap msgid "Simple Use of `OPTIONS`" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4013 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4017 #, 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:4016 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4020 #, 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:4020 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4024 #, 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:4022 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4086 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4026 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4090 #, no-wrap msgid ".include \n" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4027 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4031 #, no-wrap msgid "Check for Unset Port `OPTIONS`" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4036 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4040 #, 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:4040 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4044 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:4045 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4082 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4049 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4086 #, 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:4050 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4054 #, no-wrap msgid "Practical Use of `OPTIONS`" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4058 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4062 #, 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:4061 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4065 #, 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:4064 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4068 #, 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:4072 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4076 #, 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:4077 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4081 #, 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:4079 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4083 #, 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:4084 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4088 #, no-wrap msgid "# Check other OPTIONS\n" msgstr "" #. type: Title ==== -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4091 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4095 #, no-wrap msgid "Default Options" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4094 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4098 msgid "These options are always on by default." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4096 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4100 msgid "`DOCS` - build and install documentation." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4097 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4101 msgid "`NLS` - Native Language Support." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4098 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4102 msgid "`EXAMPLES` - build and install examples." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4099 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4103 msgid "`IPV6` - IPv6 protocol support." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4104 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4108 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:4107 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4111 #, no-wrap msgid "Feature Auto-Activation" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4111 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4115 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:4113 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4117 #, no-wrap msgid "Wrong Handling of an Option" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4123 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4127 #, 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:4131 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4135 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:4133 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4137 #, no-wrap msgid "Correct Handling of an Option" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4142 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4146 #, 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:4150 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4154 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:4154 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4158 #, no-wrap msgid ".if !empty(VARIABLE:MVALUE)\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4157 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4161 msgid "as an alternative to" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4161 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4165 #, no-wrap msgid ".if ${VARIABLE:MVALUE}\n" msgstr "" #. type: Title === -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4166 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4170 #, no-wrap msgid "Options Helpers" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4170 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4174 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:4171 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4175 #, no-wrap msgid "`PLIST_SUB`, `SUB_LIST`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4173 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4177 msgid "" "For automatic `%%_OPT_%%` and `%%NO__OPT__%%` generation, see " "crossref:makefiles[options_sub, `OPTIONS_SUB`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4175 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4179 msgid "" "For more complex usage, see crossref:makefiles[options-variables, Generic " "Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4176 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4180 #, no-wrap msgid "`CONFIGURE_ARGS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4178 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4182 msgid "" "For `--enable-_x_` and `--disable-_x_`, see crossref:makefiles[options-" "configure_enable, `OPT_CONFIGURE_ENABLE`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4180 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4184 msgid "" "For `--with-_x_` and `--without-_x_`, see crossref:makefiles[options-" "configure_with, `OPT_CONFIGURE_WITH`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4182 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4186 msgid "" "For all other cases, see crossref:makefiles[options-configure_on, " "`OPT_CONFIGURE_ON` and `OPT_CONFIGURE_OFF`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4183 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4187 #, no-wrap msgid "`CMAKE_ARGS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4186 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4190 msgid "" "For arguments that are booleans (`on`, `off`, `true`, `false`, `0`, `1`) see " "crossref:makefiles[options-cmake_bool, `OPT_CMAKE_BOOL` and " "`OPT_CMAKE_BOOL_OFF`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4188 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4192 msgid "" "For all other cases, see crossref:makefiles[options-cmake_on, `OPT_CMAKE_ON` " "and `OPT_CMAKE_OFF`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4189 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4193 #, no-wrap msgid "`MESON_ARGS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4191 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4195 msgid "" "For arguments that take `true` or `false`, see crossref:makefiles[options-" "meson_true, `OPT_MESON_TRUE` and `OPT_MESON_FALSE`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4193 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4197 msgid "" "For arguments that take `yes` or `no`, use crossref:makefiles[options-" "meson_yes, `OPT_MESON_YES` and `OPT_MESON_NO`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4195 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4199 msgid "" "For arguments that take `enabled` or `disabled`, see " "crossref:makefiles[options-meson_enabled, `OPT_MESON_ENABLED` and " "`OPT_MESON_DISABLED`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4197 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4201 msgid "" "For all other cases, use crossref:makefiles[options-meson_on, `OPT_MESON_ON` " "and `OPT_MESON_OFF`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4198 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4202 #, no-wrap msgid "`QMAKE_ARGS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4200 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4204 msgid "" "See crossref:makefiles[options-qmake_on, `OPT_QMAKE_ON` and `OPT_QMAKE_OFF`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4203 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4207 msgid "See crossref:makefiles[options-use, `OPT_USE` and `OPT_USE_OFF`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4204 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4208 #, no-wrap msgid "`*_DEPENDS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4206 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4210 msgid "" "See crossref:makefiles[options-dependencies, Dependencies, `OPT_DEPTYPE` and " "`OPT_DEPTYPE_OFF`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4207 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4211 #, no-wrap msgid "`*` (Any variable)" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4210 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4214 msgid "" "The most used variables have direct helpers, see crossref:makefiles[options-" "variables, Generic Variables Replacement, `OPT_VARIABLE` and " "`OPT_VARIABLE_OFF`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4212 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4216 msgid "" "For any variable without a specific helper, see crossref:makefiles[options-" "vars, `OPT_VARS` and `OPT_VARS_OFF`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4213 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4217 #, no-wrap msgid "Options dependencies" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4216 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4220 msgid "" "When an option need another option to work, see crossref:makefiles[options-" "implies, `OPT_IMPLIES`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4217 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4221 #, no-wrap msgid "Options conflicts" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4220 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4224 msgid "" "When an option cannot work if another is also enabled, see " "crossref:makefiles[options-prevents, `OPT_PREVENTS` and `OPT_PREVENTS_MSG`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4221 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4225 #, no-wrap msgid "Build targets" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4224 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4228 msgid "" "When an option need some extra processing, see crossref:makefiles[options-" "targets, Additional Build Targets, `_target_-_OPT_-on` and `_target_-_OPT_-" "off`]." msgstr "" #. type: Title ==== -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4226 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4230 #, no-wrap msgid "`OPTIONS_SUB`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4229 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4233 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:4234 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4238 #, no-wrap msgid "" "OPTIONS_DEFINE=\tOPT1\n" "OPTIONS_SUB=\tyes\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4237 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4276 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4312 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4349 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4384 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4421 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4457 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4491 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4521 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4553 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4585 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4614 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4767 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4840 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4917 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5007 -msgid "is equivalent to:" -msgstr "" - -#. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4241 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4280 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4316 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4353 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4388 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4425 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4461 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4495 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4525 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4557 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4589 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4618 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4771 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4844 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4921 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4998 #: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5011 +msgid "is equivalent to:" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4245 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4284 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4320 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4392 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4429 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4465 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4499 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4529 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4561 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4593 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4622 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4848 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4925 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5002 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5015 #, no-wrap msgid "OPTIONS_DEFINE=\tOPT1\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4243 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4282 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4318 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4355 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4390 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4427 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4463 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4497 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4527 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4559 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4591 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4620 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4652 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4709 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4775 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4846 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4923 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5013 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4247 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4286 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4322 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4359 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4394 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4431 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4467 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4501 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4531 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4563 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4595 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4624 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4656 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4713 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4779 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4850 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4927 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5017 #, no-wrap msgid ".include \n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4251 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4255 #, 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:4257 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4261 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:4260 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4264 #, no-wrap msgid "`OPT_USE` and `OPT_USE_OFF`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4266 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4270 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:4273 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4277 #, 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:4290 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4294 #, 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:4293 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4297 #, no-wrap msgid "`CONFIGURE_ARGS` Helpers" msgstr "" #. type: Title ===== -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4296 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4300 #, no-wrap msgid "`OPT_CONFIGURE_ENABLE`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4303 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4307 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:4309 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4313 #, 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:4324 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4328 #, 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:4330 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4334 #, 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:4333 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4337 #, no-wrap msgid "`OPT_CONFIGURE_WITH`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4340 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4344 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:4346 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4350 #, 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:4361 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4365 #, 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:4367 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4371 #, 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:4370 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4374 #, no-wrap msgid "`OPT_CONFIGURE_ON` and `OPT_CONFIGURE_OFF`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4375 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4379 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:4381 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4385 #, 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:4396 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4400 #, 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:4402 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4406 msgid "" "Most of the time, the helpers in crossref:makefiles[options-" "configure_enable, `OPT_CONFIGURE_ENABLE`] and crossref:makefiles[options-" "configure_with, `OPT_CONFIGURE_WITH`] provide a shorter and more " "comprehensive functionality." msgstr "" #. type: Title ==== -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4405 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4409 #, no-wrap msgid "`CMAKE_ARGS` Helpers" msgstr "" #. type: Title ===== -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4408 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4412 #, no-wrap msgid "`OPT_CMAKE_ON` and `OPT_CMAKE_OFF`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4412 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4416 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:4418 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4422 #, 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:4433 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4437 #, 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:4439 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4443 msgid "" "See crossref:makefiles[options-cmake_bool, `OPT_CMAKE_BOOL` and " "`OPT_CMAKE_BOOL_OFF`] for a shorter helper when the value is boolean." msgstr "" #. type: Title ===== -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4442 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4446 #, no-wrap msgid "`OPT_CMAKE_BOOL` and `OPT_CMAKE_BOOL_OFF`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4448 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4452 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:4454 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4458 #, 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:4471 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4475 #, 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:4474 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4478 #, no-wrap msgid "`MESON_ARGS` Helpers" msgstr "" #. type: Title ===== -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4477 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4481 #, no-wrap msgid "`OPT_MESON_ON` and `OPT_MESON_OFF`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4482 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4486 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:4488 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4492 #, 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:4503 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4507 #, 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:4506 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4510 #, no-wrap msgid "`OPT_MESON_TRUE` and `OPT_MESON_FALSE`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4512 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4516 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:4518 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4522 #, 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:4535 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4539 #, 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:4538 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4542 #, no-wrap msgid "`OPT_MESON_YES` and `OPT_MESON_NO`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4544 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4548 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:4550 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4554 #, 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:4567 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4571 #, 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:4570 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4574 #, no-wrap msgid "`OPT_MESON_ENABLED` and `OPT_MESON_DISABLED`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4576 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4580 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:4582 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4586 #, 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:4597 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4601 #, 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:4600 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4604 #, no-wrap msgid "`OPT_QMAKE_ON` and `OPT_QMAKE_OFF`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4605 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4609 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:4611 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4615 #, 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:4626 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4630 #, 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:4629 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4633 #, no-wrap msgid "`OPT_IMPLIES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4632 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4636 msgid "Provides a way to add dependencies between options." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4635 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4639 msgid "" "When _OPT_ is selected, all the options listed in this variable will be " "selected too. Using the crossref:makefiles[options-" "configure_enable,`OPT_CONFIGURE_ENABLE`] described earlier to illustrate:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4640 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4644 #, 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:4643 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4647 #, 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:4646 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4650 msgid "Is equivalent to:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4658 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4662 #, 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:4664 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4668 #, 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:4667 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4671 #, no-wrap msgid "Simple Use of `OPT_IMPLIES`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4672 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4676 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:4677 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4681 #, 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:4682 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4686 #, 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:4687 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4691 #, no-wrap msgid "`OPT_PREVENTS` and `OPT_PREVENTS_MSG`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4690 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4694 msgid "Provides a way to add conflicts between options." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4694 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4698 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:4700 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4704 #, 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:4703 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4707 msgid "Is roughly equivalent to:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4713 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4717 #, 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:4716 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4720 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:4718 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4722 #, no-wrap msgid "Simple Use of `OPT_PREVENTS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4724 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4728 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:4728 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4732 #, no-wrap msgid "OPTIONS_DEFINE=\tX509 SCTP\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4731 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4735 #, 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:4736 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4740 #, 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:4741 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4745 #, no-wrap msgid "`OPT_VARS` and `OPT_VARS_OFF`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4744 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4748 msgid "Provides a generic way to set and append to variables." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4749 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4753 msgid "" "Before using `OPT_VARS` and `OPT_VARS_OFF`, see if there is already a more " "specific helper available in crossref:makefiles[options-variables, Generic " "Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4754 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4758 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:4762 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4766 #, 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:4764 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4773 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4768 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4777 #, 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:4779 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4783 #, 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:4783 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4787 #, 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:4789 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4793 #, 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:4794 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4798 msgid "Values containing whitespace must be enclosed in quotes:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4798 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4802 #, no-wrap msgid "OPT_VARS=\tfoo=\"bar baz\"\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4804 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4808 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:4807 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4811 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:4811 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4815 #, no-wrap msgid "OPT_VARS=\tfoo=\tbar\n" msgstr "" #. type: Title ==== -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4816 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4820 #, no-wrap msgid "Dependencies, `OPT_DEPTYPE` and `OPT_DEPTYPE_OFF`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4819 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4823 msgid "For any of these dependency types:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4821 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4825 msgid "`PKG_DEPENDS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4831 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4835 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:4837 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4841 #, 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:4852 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4856 #, 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:4855 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4859 #, 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:4858 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4862 msgid "For any of these variables:" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4860 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4864 msgid "`ALL_TARGET`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4861 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4865 msgid "`BINARY_ALIAS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4862 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4866 msgid "`BROKEN`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4864 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4868 msgid "`CFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4865 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4869 msgid "`CONFIGURE_ENV`" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4866 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5105 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4870 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5109 #, no-wrap msgid "`CONFLICTS`" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4867 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5100 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4871 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5104 #, no-wrap msgid "`CONFLICTS_BUILD`" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4868 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5095 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4872 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5099 #, no-wrap msgid "`CONFLICTS_INSTALL`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4869 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4873 msgid "`CPPFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4870 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4874 msgid "`CXXFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4871 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4875 msgid "`DESKTOP_ENTRIES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4874 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4878 msgid "`EXTRA_PATCHES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4886 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4890 msgid "`IGNORE`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4887 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4891 msgid "`INFO`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4888 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4892 msgid "`INSTALL_TARGET`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4889 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4893 msgid "`LDFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4890 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4894 msgid "`LIBS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4891 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4895 msgid "`MAKE_ARGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4892 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4896 msgid "`MAKE_ENV`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4895 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4899 msgid "`PATCH_SITES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4896 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4900 msgid "`PLIST_DIRS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4897 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4901 msgid "`PLIST_FILES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4898 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4902 msgid "`PLIST_SUB`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4899 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4903 msgid "`PORTDOCS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4900 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4904 msgid "`PORTEXAMPLES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4901 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4905 msgid "`SUB_FILES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4902 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4906 msgid "`SUB_LIST`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4903 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4907 msgid "`TEST_TARGET`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4908 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4912 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:4914 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4918 #, 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:4929 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4933 #, 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:4936 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4940 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:4941 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4945 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:4943 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4947 msgid "With these lines in the [.filename]#Makefile#:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4947 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4951 #, no-wrap msgid "ALL_TARGET=\tall\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4949 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4958 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4953 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4962 #, no-wrap msgid "DOCS_ALL_TARGET=\tdoc\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4952 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4956 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:4954 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4958 msgid "With only the options helper line in the [.filename]#Makefile#:" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4961 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4965 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:4964 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4968 #, 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:4967 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4971 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:4969 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4973 msgid "`pre-fetch`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4970 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4974 msgid "`do-fetch`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4971 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4975 msgid "`post-fetch`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4972 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4976 msgid "`pre-extract`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4973 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4977 msgid "`do-extract`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4974 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4978 msgid "`post-extract`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4975 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4979 msgid "`pre-patch`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4976 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4980 msgid "`do-patch`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4977 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4981 msgid "`post-patch`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4978 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4982 msgid "`pre-configure`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4979 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4983 msgid "`do-configure`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4980 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4984 msgid "`post-configure`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4981 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4985 msgid "`pre-build`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4982 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4986 msgid "`do-build`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4983 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4987 msgid "`post-build`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4984 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4988 msgid "`pre-install`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4985 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4989 msgid "`do-install`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4986 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4990 msgid "`post-install`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4987 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4991 msgid "`post-stage`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4988 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4992 msgid "`pre-package`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4989 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4993 msgid "`do-package`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4990 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4994 msgid "`post-package`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4994 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4998 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:5001 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5005 #, 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:5004 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5008 #, 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:5020 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5024 #, 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:5023 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5027 #, no-wrap msgid "Specifying the Working Directory" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5028 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5032 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:5033 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5037 #, no-wrap msgid "" "PORTNAME=\tfoo\n" "DISTVERSION=\t1.0\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5036 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5040 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:5038 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5042 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:5040 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5044 #, no-wrap msgid "`WRKSRC`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5044 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5048 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:5048 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5052 #, no-wrap msgid "WRKSRC=\t${WRKDIR}/foo\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5051 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5055 msgid "or possibly" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5055 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5059 #, no-wrap msgid "WRKSRC=\t${WRKDIR}/${PORTNAME}\n" msgstr "" #. type: Title === -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5058 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5062 #, no-wrap msgid "`WRKSRC_SUBDIR`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5061 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5065 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:5065 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5069 #, no-wrap msgid "WRKSRC_SUBDIR=\tsrc\n" msgstr "" #. type: Title === -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5068 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5072 #, no-wrap msgid "`NO_WRKSUBDIR`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5071 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5075 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:5075 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5079 #, no-wrap msgid "NO_WRKSUBDIR=\tyes\n" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5080 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5084 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:5083 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5087 #, no-wrap msgid "Conflict Handling" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5086 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5090 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:5090 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5094 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:5093 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5097 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:5098 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5102 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:5103 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5107 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:5108 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5112 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:5112 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5116 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:5115 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5119 #, 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:5118 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5122 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:5121 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5125 #, 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:5124 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5128 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:5127 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5131 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:5129 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5133 #, no-wrap msgid "Basic usage of `CONFLICTS*`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5135 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5139 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:5142 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5146 #, 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:5145 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5149 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:5149 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5153 #, no-wrap msgid "CONFLICTS_INSTALL=\tbind910\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5152 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5156 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:5156 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5160 #, no-wrap msgid "CONFLICTS_INSTALL=\tbind99\n" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5163 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5167 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:5165 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5169 #, no-wrap msgid "Using `CONFLICTS*` With Globs." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5170 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5174 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:5172 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5176 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:5178 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5182 #, 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:5181 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5185 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:5183 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5187 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:5187 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5191 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:5191 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5195 #, no-wrap msgid "% make -DDISABLE_CONFLICTS patch\n" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5194 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5198 #, no-wrap msgid "Installing Files" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5201 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5205 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:5204 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5208 #, no-wrap msgid "`INSTALL_*` Macros" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5211 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5215 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:5213 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5217 msgid "`INSTALL_PROGRAM` is a command to install binary executables." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5214 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5218 msgid "`INSTALL_SCRIPT` is a command to install executable scripts." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5215 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5219 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:5216 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5220 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:5217 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5221 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:5218 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5222 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:5220 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5224 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:5224 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5228 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:5227 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5231 #, no-wrap msgid "Stripping Binaries and Shared Libraries" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5232 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5236 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:5235 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5239 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:5240 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5244 #, 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:5243 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5247 msgid "When multiple files need to be stripped:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5250 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5254 #, 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:5255 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5259 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:5259 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5263 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:5261 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5265 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:5263 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5267 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:5266 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5270 #, no-wrap msgid "Installing a Whole Tree of Files" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5271 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5275 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:5276 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5280 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:5282 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5286 #, 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:5285 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5289 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:5291 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5295 #, 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:5294 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5298 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:5297 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5301 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:5304 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5308 #, 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:5310 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5314 msgid "" "These macros do not add the installed files to [.filename]#pkg-plist#. They " "must be added manually. For optional documentation (`PORTDOCS`, see " "crossref:makefiles[install-documentation, Install Additional 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:5312 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5316 #, no-wrap msgid "Install Additional Documentation" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5316 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5320 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:5321 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5325 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:5324 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5328 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:5330 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5334 #, 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:5334 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5338 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 crossref:makefiles[options-targets, Additional Build Targets, " "`_target_-_OPT_-on` and `_target_-_OPT_-off`]." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5336 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5340 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:5338 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5342 msgid "`DATADIR` gets expanded to [.filename]#PREFIX/share/PORTNAME#." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5339 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5343 msgid "`DATADIR_REL` gets expanded to [.filename]#share/PORTNAME#." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5340 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5344 msgid "`DOCSDIR` gets expanded to [.filename]#PREFIX/share/doc/PORTNAME#." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5341 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5345 msgid "`DOCSDIR_REL` gets expanded to [.filename]#share/doc/PORTNAME#." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5342 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5346 msgid "" "`EXAMPLESDIR` gets expanded to [.filename]#PREFIX/share/examples/PORTNAME#." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5343 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5347 msgid "" "`EXAMPLESDIR_REL` gets expanded to [.filename]#share/examples/PORTNAME#." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5349 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5353 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:5355 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5359 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:5357 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5361 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:5362 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5366 #, no-wrap msgid "" "%%PORTDOCS%%%%DOCSDIR%%/AUTHORS\n" "%%PORTDOCS%%%%DOCSDIR%%/CONTACT\n" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5371 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5375 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:5375 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5379 #, no-wrap msgid "PORTDOCS=\tREADME.* ChangeLog docs/*\n" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5380 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5384 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:5384 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5388 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:5387 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5391 #, no-wrap msgid "Subdirectories Under `PREFIX`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5396 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5400 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:5398 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5402 #, 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:5401 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5405 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:5403 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5407 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:5405 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5409 #, 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:5410 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5414 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:5412 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5416 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:5418 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5422 #, 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:5423 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5427 #, 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:5428 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5432 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:5434 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5438 #, 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:5437 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5441 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:5444 +#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5448 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/uses/_index.po b/documentation/content/en/books/porters-handbook/uses/_index.po index 5555d422c1..d4afd6ebb1 100644 --- a/documentation/content/en/books/porters-handbook/uses/_index.po +++ b/documentation/content/en/books/porters-handbook/uses/_index.po @@ -1,8851 +1,8856 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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:14 #, no-wrap msgid "Using `USES` Macros" msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:52 #, no-wrap msgid "An Introduction to `USES`" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/uses/_index.adoc:56 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:60 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:62 #, no-wrap msgid "Using Multiple Values" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:68 #, no-wrap msgid "USES=\tbison perl\n" msgstr "" #. type: Block title #: documentation/content/en/books/porters-handbook/uses/_index.adoc:72 #, no-wrap msgid "Adding an Argument" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:78 #, no-wrap msgid "USES=\ttar:xz\n" msgstr "" #. type: Block title #: documentation/content/en/books/porters-handbook/uses/_index.adoc:82 #, no-wrap msgid "Adding Multiple Arguments" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:88 #, no-wrap msgid "USES=\tdrupal:7,theme\n" msgstr "" #. type: Block title #: documentation/content/en/books/porters-handbook/uses/_index.adoc:92 #, no-wrap msgid "Mixing it All Together" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:98 #, 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:102 #, no-wrap msgid "`7z`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:105 msgid "Possible arguments: (none), `p7zip`, `partial`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:109 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:111 #, no-wrap msgid "`ada`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:114 msgid "Possible arguments: (none), `6`, `12`, `(run)`" 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 `gcc6-aux` from ports." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:119 #, no-wrap msgid "`angr`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:122 msgid "Possible arguments: `binaries`, `nose`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:124 msgid "" "Provide support for ports that need the https://github.com/angr/" "angr[angrinary analysis platform]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:127 msgid "" "If the `binaries` argument is present, the port requires the special `angr` " "binaries for testing." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:130 msgid "" "If the `nose` argument is present, the port uses `nosetests` for the test " "target. This argument implies `USES=python:test`." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:132 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:203 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1330 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1331 msgid "The framework provides the following variables to be set by the port:" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:133 #, no-wrap msgid "`ANGR_VERSION`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:135 msgid "The version of the `angr` project programs." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:136 #, no-wrap msgid "`ANGR_BINARIES_TAGNAME`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:138 msgid "The tagname of the `angr` binaries." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:139 #, no-wrap msgid "`ANGR_NOSETESTS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:141 msgid "The path to the `nosetests` program." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:143 #, no-wrap msgid "`ansible`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:146 msgid "Possible arguments: `env`, `module`, `plugin`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:148 msgid "Provide support for ports depending on package:sysutils/ansible[]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:151 msgid "" "If the `env` argument is present, the port does not depend on " "package:sysutils/ansible[] but needs some Ansible variables set." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:153 msgid "If the `module` argument is present then the port is an Ansible module." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:155 msgid "If the `plugin` argument is present then the port is an Ansible plugin." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:157 msgid "The framework exposes the following variables to the port:" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:158 #, no-wrap msgid "`ANSIBLE_CMD`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:160 msgid "Path to the ansible program." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:161 #, no-wrap msgid "`ANSIBLE_DOC_CMD`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:163 msgid "Path to the ansible-doc program." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:164 #, no-wrap msgid "`ANSIBLE_RUN_DEPENDS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:166 msgid "RUN_DEPENDS with the Ansible port." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:167 #, no-wrap msgid "`ANSIBLE_DATADIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:169 msgid "" "Path to the root of the directory structure where all Ansible's modules and " "plugins are stored." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:170 #, no-wrap msgid "`ANSIBLE_ETCDIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:172 msgid "Path to the Ansible etc directory." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:173 #, no-wrap msgid "`ANSIBLE_PLUGINS_PREFIX`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:175 msgid "Path to the \"plugins\" directory within `${ANSIBLE_DATADIR}`." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:175 #, no-wrap msgid "`ANSIBLE_MODULESDIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:177 msgid "Path to the directory for local Ansible modules." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:178 #, no-wrap msgid "`ANSIBLE_PLUGINSDIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:180 msgid "Path to the directory for local Ansible plugins." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:181 #, no-wrap msgid "`ANSIBLE_PLUGIN_TYPE`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:183 msgid "Ansible plugin type (e.g., \"connection\", \"inventory\", or \"vars\")." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:185 #, no-wrap msgid "`apache`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:188 msgid "Possible arguments: (none), `2.4`, `build`, `run`, `server`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:190 msgid "Provide support for ports depending on the Apache web server." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:194 msgid "" "The version argument can be used to require a specific Apache httpd " "version. It is possible to set a specific version (`USES=apache:2.4`) a " "minimum version (`USES=apache:2.4+`) or a maximum version " "(`USES=apache:-2.4`)." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:196 msgid "" "If the `build` argument is provided a build dependency is added to the port." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:198 msgid "" "If the `run` argument is provided a run dependency is added to the port." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:201 msgid "" "If the `server` argument is provided then it indicates the port is a server " "port." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:204 #, no-wrap msgid "`AP_FAST_BUILD`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:206 msgid "Automatic module build" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:207 #, no-wrap msgid "`AP_GENPLIST`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:209 msgid "" "Automatic `PLIST` generation plus add the module disabled into " "[.filename]#httpd.conf# (only if no `pkg-plist` exist)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:210 #, no-wrap msgid "`MODULENAME`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:212 msgid "Name of the Apache module. Default: `${PORTNAME}`" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:213 #, no-wrap msgid "`SHORTMODNAME`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:215 msgid "Short name of the Apache module. Default: `${MODULENAME:S/mod_//}`" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:216 #, no-wrap msgid "`SRC_FILE`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:218 msgid "Source file of the APACHE module. Default: `${MODULENAME}.c`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:220 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1543 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1544 msgid "The following variables can be accessed by the port:" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:221 #, no-wrap msgid "`APACHE_VERSION`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:223 msgid "The major-minor release version of the chosen Apache server, e.g. 2.4" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:224 #, no-wrap msgid "`APACHEETCDIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:226 msgid "" "Location of the Apache configuration directory. Default: [.filename]#$" "{LOCALBASE}/etc/apache24#" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:227 #, no-wrap msgid "`APACHEINCLUDEDIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:229 msgid "" "Location of the Apache include files Default: [.filename]#${LOCALBASE}/" "include/apache24#" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:230 #, no-wrap msgid "`APACHEMODDIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:232 msgid "" "Location of the Apache modules Default: [.filename]#${LOCALBASE}/libxexec/" "apache24#" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:234 msgid "`APACHE_DEFAULT`::Default Apache version" msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:237 #, no-wrap msgid "`autoreconf`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:240 msgid "Possible arguments: (none), `build`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:247 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:249 #, no-wrap msgid "`azurepy`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:252 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:313 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:399 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:408 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:417 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:519 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:548 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:559 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:575 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:663 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:797 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:867 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:904 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:937 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:944 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1098 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1169 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1291 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1555 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1562 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1570 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1738 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1757 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1764 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1771 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1810 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1818 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1871 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1932 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1960 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2038 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2060 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2504 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2550 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2559 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2722 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2797 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2805 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2860 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2876 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2914 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2969 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1099 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1170 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1292 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1556 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1563 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1571 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1739 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1758 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1765 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1772 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1811 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1819 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1872 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1933 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1961 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2039 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2061 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2505 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2551 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2560 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2723 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2798 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2806 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2861 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2877 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2915 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2970 msgid "Possible arguments: (none)" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:255 msgid "" "Provide support for `py-azure*` ports. Removes `azure` namespaces and " "cleans up common files." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:257 #, no-wrap msgid "`blaslapack`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:260 msgid "" "Possible arguments: (none), `atlas`, `netlib` (default), `gotoblas`, " "`openblas`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:262 msgid "Adds dependencies on Blas / Lapack libraries." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:264 #, no-wrap msgid "`bdb`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:267 msgid "Possible arguments: (none), `5` (default), `18`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:275 msgid "" "Add dependency on the Berkeley DB library. Default to package:databases/" "db5[]. It can also depend on package:databases/db18[] when using the `:18` " "argument. It is possible to declare a range of acceptable values, `:5+` " "finds the highest installed version, and falls back to 5 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:276 #, no-wrap msgid "`BDB_LIB_NAME`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:279 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:280 #, no-wrap msgid "`BDB_LIB_CXX_NAME`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:283 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:284 #, no-wrap msgid "`BDB_INCLUDE_DIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:287 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:288 #, no-wrap msgid "`BDB_LIB_DIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:291 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:292 #, no-wrap msgid "`BDB_VER`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:295 msgid "" "The detected Berkeley DB version. For example, if using `USES=bdb:5+` and " "Berkeley DB 18 is installed, it contains `18`." msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/uses/_index.adoc:300 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:303 #, no-wrap msgid "`bison`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:306 msgid "Possible arguments: (none), `build`, `run`, `both`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:308 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:310 #, no-wrap msgid "`budgie`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:317 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:319 #, no-wrap msgid "`cabal`" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/uses/_index.adoc:324 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:327 msgid "Possible arguments: (none), `hpack`, `nodefault`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:335 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:337 msgid "The framework provides the following variables:" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:338 #, no-wrap msgid "`CABAL_REVISION`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:341 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:342 #, no-wrap msgid "`USE_CABAL`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:347 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:348 #, no-wrap msgid "`CABAL_FLAGS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:353 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:354 #, no-wrap msgid "`CABAL_EXECUTABLES`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:360 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:361 #, no-wrap msgid "`SKIP_CABAL_PLIST`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:363 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:364 #, no-wrap msgid "`opt_USE_CABAL`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:366 msgid "Adds items to `${USE_CABAL}` depending on `opt` option." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:367 #, no-wrap msgid "`opt_CABAL_EXECUTABLES`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:369 msgid "Adds items to `${CABAL_EXECUTABLES}` depending on `opt` option." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:370 #, no-wrap msgid "`opt_CABAL_FLAGS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:374 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:375 #, no-wrap msgid "`CABAL_WRAPPER_SCRIPTS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:380 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:381 #, no-wrap msgid "`FOO_DATADIR_VARS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:385 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:386 #, no-wrap msgid "`CABAL_PROJECT`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:391 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:392 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:394 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:396 #, no-wrap msgid "`cargo`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:403 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:405 #, no-wrap msgid "`charsetfix`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:412 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:414 #, no-wrap msgid "`cl`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:419 msgid "Provides support for Common Lisp ports." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:421 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:627 msgid "" "The framework provides the following variables that can be set by ports:" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:422 #, no-wrap msgid "`ASDF_MODULES`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:424 msgid "" "List of `ASDF` modules to build when `FASL_TARGET` is set (defaults to " "`PORTNAME`)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:425 #, no-wrap msgid "`FASL_TARGET`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:427 msgid "Build fasl variant of port (one of `ccl`, `clisp`, or `sbcl`)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:428 #, no-wrap msgid "`USE_ASDF`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:430 msgid "Depend on package:devel/cl-asdf[]" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:431 #, no-wrap msgid "`USE_ASDF_FASL`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:433 msgid "Depend on `devel/cl-asdf-`" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:434 #, no-wrap msgid "`USE_CCL`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:436 msgid "Depend on package:lang/ccl[]; implied when `FASL_TARGET=ccl`" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:437 #, no-wrap msgid "`USE_CLISP`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:439 msgid "Depend on package:lang/clisp[]; implied when `FASL_TARGET=clisp`" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:440 #, no-wrap msgid "`USE_SBCL`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:442 msgid "Depend on package:lang/sbcl[]; implied when `FASL_TARGET=SBCL`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:445 msgid "" "The framework provides the following variables that can be read by ports:" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:446 #, no-wrap msgid "`ASDF_PATHNAME`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:448 msgid "Path to CL source" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:449 #, no-wrap msgid "`ASDF_REGISTRY`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:451 msgid "Path to CL registry containing asd files" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:452 #, no-wrap msgid "`CCL`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:454 msgid "Path to the Clozure Common Lisp compiler" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:455 #, no-wrap msgid "`CLISP`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:457 msgid "Path to the GNU Common Lisp compiler" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:458 #, no-wrap msgid "`CL_LIBDIR_REL`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:460 msgid "CL library directory relative to `LOCALBASE` or `PREFIX`" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:461 #, no-wrap msgid "`FASL_DIR_REL`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:463 msgid "Relative path to compiled fasl files; depends on `FASL_TARGET`" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:464 #, no-wrap msgid "`FASL_PATHNAME`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:466 msgid "Path to CL fasl" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:467 #, no-wrap msgid "`LISP_EXTRA_ARG`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:469 msgid "Extra arguments used when building fasl" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:470 #, no-wrap msgid "`SBCL`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:472 msgid "Path to the Steel Bank Common Lisp compiler" msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:474 #, no-wrap msgid "`cmake`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:477 msgid "Possible arguments: (none), `insource`, `noninja`, `run`, `testing`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:479 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:483 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:488 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:490 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:493 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:495 msgid "For more information see crossref:special[using-cmake,Using `cmake`]." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:497 #, no-wrap msgid "`compiler`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:500 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:504 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:507 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:509 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:510 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:511 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:512 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:513 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:514 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:516 #, no-wrap msgid "`cpe`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:523 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:526 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:527 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:528 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:529 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:530 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:531 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:532 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:533 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:534 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:536 #, no-wrap msgid "`cran`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:539 msgid "Possible arguments: (none), `auto-plist`, `compiles`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:543 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:545 #, no-wrap msgid "`desktop-file-utils`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:554 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 " "crossref:plist[plist-keywords-desktop-file-utils,`@desktop-file-utils`] will " "be added to the plist. Only use this macro if the port provides a " "`.desktop` file which contains a `MimeType` entry." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:556 #, no-wrap msgid "`desthack`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:561 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:563 #, no-wrap msgid "`display`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:566 msgid "Possible arguments: (none), _ARGS_" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:570 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:572 #, no-wrap msgid "`dos2unix`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:580 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:582 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:583 msgid "`DOS2UNIX_FILES`: match literal file names." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:584 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:585 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:587 #, no-wrap msgid "`drupal`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:590 msgid "Possible arguments: `7`, `module`, `theme`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:595 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:597 #, no-wrap msgid "`ebur128`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:600 msgid "Possible arguments: (none), `build`, `lib`, `run`, `test`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:605 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:609 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:611 #, no-wrap msgid "`eigen`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:614 msgid "Possible arguments: 2, 3, build (default), run" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:616 msgid "Add dependency on package:math/eigen[]." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:618 #, no-wrap msgid "`electronfix`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:621 msgid "Possible arguments: `31`, `32`, `33`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:625 msgid "" "Provide support for easy porting of Electron applications that are " "distributed in binary form. Adds a build and run time dependency on " "package:devel/electron31[], package:devel/electron32[], or package:devel/" "electron33[] depending on the argument used." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:628 #, no-wrap msgid "`ELECTRONFIX_SYMLINK_FILES`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:630 msgid "List of files to be symlinked from Electron distribution." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:631 #, no-wrap msgid "`ELECTRONFIX_MAIN_EXECUTABLE`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:633 msgid "" "File name of the main executable to be replaced with the original Electron " "binary." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:636 #, no-wrap msgid "`elfctl`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:639 msgid "Possible arguments: (none), `build` (default), `stage`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:641 msgid "Set ELF binary feature control notes by setting `ELF_FEATURES`." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:644 msgid "" "When either no argument or the `build` argument is supplied, binaries under " "`BUILD_WRKSRC` are operated on, and files listed in `ELF_FEATURES` are " "relative to `BUILD_WRKSRC`. When the `stage` argument is supplied, binaries " "under `STAGEDIR` are operated on and files listed in `ELF_FEATURES` are " "relative to `STAGEDIR`." msgstr "" #. type: Block title #: documentation/content/en/books/porters-handbook/uses/_index.adoc:646 #, no-wrap msgid "Uses=elfctl" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:653 #, no-wrap msgid "" "ELF_FEATURES=\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:658 msgid "The format of `featurelist` is described in man:elfctl[1]." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:660 #, no-wrap msgid "`elixir`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:666 msgid "" "Provide support for ports using package:lang/elixir[]. Adds a build and run " "time dependency on package:lang/elixir[]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:668 msgid "Variables provided by the framework:" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:669 #, no-wrap msgid "`ELIXIR_APP_NAME`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:671 msgid "Elixir app name as installed in Elixir's lib directory" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:671 #, no-wrap msgid "`ELIXIR_LIB_ROOT`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:673 msgid "Elixir default library path" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:673 #, no-wrap msgid "`ELIXIR_APP_ROOT`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:675 msgid "Root directory for this Elixir app" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:675 #, no-wrap msgid "`ELIXIR_HIDDEN`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:677 msgid "Applications to be hidden from the code path; usually ${PORTNAME}" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:677 #, no-wrap msgid "`ELIXIR_LOCALE`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:679 msgid "" "An UTF-8 locale to be used by Elixir during builds (any UTF-8 locale is good)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:679 #, no-wrap msgid "`MIX_CMD`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:681 msgid "The `mix` command" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:681 #, no-wrap msgid "`MIX_COMPILE`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:683 msgid "The `mix` command used to compile an Elixir app" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:683 #, no-wrap msgid "`MIX_REWRITE`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:685 msgid "Automatically replace Mix dependencies with code paths" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:685 #, no-wrap msgid "`MIX_BUILD_DEPS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:687 msgid "" "List of `BUILD_DEPENDS` in category/portname format (commonly referenced to " "as \"deps\" in Erlang and Elixir)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:687 #, no-wrap msgid "`MIX_RUN_DEPS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:689 msgid "List of `RUN_DEPENDS` in category/portname format" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:689 #, no-wrap msgid "`MIX_DOC_DIRS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:691 msgid "Extra doc directories to be installed in `DOCSDIR`" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:691 #, no-wrap msgid "`MIX_DOC_FILES`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:693 msgid "Extra doc files to be installed in `DOCSDIR` (usually README.md)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:693 #, no-wrap msgid "`MIX_ENV`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:695 msgid "Environment for the Mix build (same format as `MAKE_ENV`)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:695 #, no-wrap msgid "`MIX_ENV_NAME`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:697 msgid "Name of the Mix build environment, usually \"prod\"" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:697 #, no-wrap msgid "`MIX_BUILD_NAME`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:699 msgid "Name of the build output in _build/, usually `${MIX_ENV_NAME}`" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:699 #, no-wrap msgid "`MIX_TARGET`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:701 msgid "Name of the Mix target, usually \"compile\"" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:701 #, no-wrap msgid "`MIX_EXTRA_APPS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:703 msgid "List of sub-applications to be built, if any" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:703 #, no-wrap msgid "`MIX_EXTRA_DIRS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:705 msgid "List of extra directories to be installed in `ELIXIR_APP_ROOT`" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:705 #, no-wrap msgid "`MIX_EXTRA_FILES`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:707 msgid "List of extra files to be installed in `ELIXIR_APP_ROOT`" msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:709 #, no-wrap msgid "`emacs`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:712 msgid "Possible arguments: (none) (default), `build`, `run`, `noflavors`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:719 msgid "" "Provides support for ports requiring Emacs. The `build` argument creates a " "build dependency on Emacs. The `run` argument creates a run dependency on " "Emacs. If both the `build` and `run` arguments are absent, create build and " "run dependencies on Emacs. The `noflavors` argument prevents flavors, and " "is implied if there is no run dependency on Emacs." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:723 msgid "" "The default Emacs flavor for ports with `USES=emacs` can be defined in " "[.filename]#make.conf#. For example, for the `nox` flavor, use " "`DEFAULT_VERSIONS+= emacs=nox`. The valid flavors are: `full`, `canna`, " "`nox`, `wayland`, `devel_full`, `devel_nox`." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:725 msgid "Variables, which can be set by ports:" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:726 #, no-wrap msgid "`EMACS_FLAVORS_EXCLUDE`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:729 msgid "" "Do NOT build these Emacs flavors. If `EMACS_FLAVORS_EXCLUDE` is not defined " "and:" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:731 msgid "there is a run dependency on Emacs" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:732 msgid "the noflavors argument is not specified" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:735 msgid "then all valid Emacs flavors are assumed." msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:736 #, no-wrap msgid "`EMACS_NO_DEPENDS`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:740 msgid "" "Do NOT add build or run dependencies on Emacs. This will prevent flavors, " "and no byte code files will be generated as part of the package." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:742 msgid "Variables, which can be read by ports:" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:743 #, no-wrap msgid "`EMACS_CMD`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:745 msgid "" "Emacs command with full path (e.g. [.filename]#/usr/local/bin/emacs-30.1#)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:746 #, no-wrap msgid "`EMACS_FLAVOR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:748 msgid "" "Used for dependencies (e.g. `BUILD_DEPENDS= dash.el${EMACS_PKGNAMESUFFIX}" ">0:devel/dash@${EMACS_FLAVOR}`)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:749 #, no-wrap msgid "`EMACS_LIBDIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:751 msgid "" "Emacs Library directory without `${PREFIX}` (e.g. [.filename]#share/emacs#)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:752 #, no-wrap msgid "`EMACS_LIBDIR_WITH_VER`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:754 msgid "" "Library directory without `${PREFIX}` including version (e.g. " "[.filename]#share/emacs/30.1#)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:755 #, no-wrap msgid "`EMACS_MAJOR_VER`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:757 msgid "Emacs major version (e.g. 30)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:758 #, no-wrap msgid "`EMACS_PKGNAMESUFFIX`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:760 msgid "`PKGNAMESUFFIX` to distinguish Emacs flavors" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:761 #, no-wrap msgid "`EMACS_SITE_LISPDIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:763 msgid "" "Emacs site-lisp directory without `${PREFIX}` (e.g. [.filename]#share/emacs/" "site-lisp#)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:764 #, no-wrap msgid "`EMACS_VER`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:766 msgid "Emacs version (e.g. 30.1)" msgstr "" #. type: Labeled list #: documentation/content/en/books/porters-handbook/uses/_index.adoc:767 #, no-wrap msgid "`EMACS_VERSION_SITE_LISPDIR`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:769 msgid "Include version (e.g. [.filename]#share/emacs/30.1/site-lisp#)" msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:771 #, no-wrap msgid "`erlang`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:774 msgid "Possible arguments: (none), `enc`, `rebar`, `rebar3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:779 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:781 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:783 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:784 msgid "`ERL_APP_ROOT`: Root directory for this Erlang app" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:785 msgid "`REBAR_CMD`: Path to the \"rebar\" command" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:786 msgid "`REBAR3_CMD`: Path to the \"rebar3\" command" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:787 msgid "`REBAR_PROFILE`: Rebar profile" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:788 msgid "`REBAR_TARGETS`: Rebar target list (usually compile, maybe escriptize)" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:789 msgid "`ERL_BUILD_NAME`: Build name for rebar3" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:790 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:791 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:792 msgid "`ERL_DOCS`: List of documentation files and directories" msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:794 #, no-wrap msgid "`fakeroot`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:800 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:802 #, no-wrap msgid "`fam`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:805 msgid "Possible arguments: (none), `fam`, `gamin`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:808 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:810 #, no-wrap msgid "`firebird`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:813 msgid "Possible arguments: (none), `25`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:815 msgid "Add a dependency to the client library of the Firebird database." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:817 #, no-wrap msgid "`fonts`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:820 msgid "Possible arguments: (none), `fc`, `fontsdir` (default), `none`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:826 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:828 #, no-wrap msgid "`fortran`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:831 msgid "Possible arguments: `gcc` (default)" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:833 msgid "Uses the GNU Fortran compiler." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:835 #, no-wrap msgid "`fpc`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:838 msgid "Possible arguments: (none), `run`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:841 msgid "" "Provide support for Free Pascal based ports. It will install Free Pascal " "compiler and units." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:843 msgid "Adds a build dependency on package:lang/fpc[]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:845 msgid "If the `run` argument is given a run dependency is also added." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:847 #, no-wrap msgid "`fuse`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:850 msgid "Possible arguments: `2` (default), `3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:852 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:854 #, no-wrap msgid "`gem`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:857 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1478 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1479 msgid "Possible arguments: (none), `noautoplist`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:860 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:862 msgid "This implies `USES=ruby`." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:864 #, no-wrap msgid "`gettext`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:871 msgid "" "Deprecated. Will include both crossref:uses[uses-gettext-runtime,`gettext-" "runtime`] and crossref:uses[uses-gettext-tools,`gettext-tools`]." msgstr "" #. type: Title == #: documentation/content/en/books/porters-handbook/uses/_index.adoc:873 #, no-wrap msgid "`gettext-runtime`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:876 msgid "Possible arguments: (none), `lib` (default), `build`, `run`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:880 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:882 #, no-wrap msgid "`gettext-tools`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:885 msgid "Possible arguments: (none), `build` (default), `run`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:889 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:891 #, no-wrap msgid "`ghostscript`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:894 msgid "Possible arguments: _X_, `build`, `run`, `nox11`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:899 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:901 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:915 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1200 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1201 #, no-wrap msgid "`gl`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:908 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:909 #, no-wrap msgid "`egl`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:911 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:912 #, no-wrap msgid "`gbm`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:914 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:917 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:918 #, no-wrap msgid "`glesv2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:920 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:921 #, no-wrap msgid "`glew`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:923 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:924 #, no-wrap msgid "`glu`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:926 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:927 #, no-wrap msgid "`glut`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:929 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:930 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2243 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2244 #, no-wrap msgid "`opengl`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:932 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:934 #, no-wrap msgid "`gmake`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:939 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:941 #, no-wrap msgid "`gnome`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:948 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:950 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1597 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1598 msgid "`atk`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:951 msgid "`atkmm`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:952 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1183 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1600 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1184 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1601 msgid "`cairo`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:953 msgid "`cairomm`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:954 msgid "`dconf`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:955 msgid "`esound`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:956 msgid "`evolutiondataserver3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:957 msgid "`gconf2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:958 msgid "`gconfmm26`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:959 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1199 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1200 msgid "`gdkpixbuf`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:960 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1611 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1612 msgid "`gdkpixbuf2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:961 msgid "`glib12`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:962 msgid "`glib20`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:963 msgid "`glibmm`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:964 msgid "`gnomecontrolcenter3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:965 msgid "`gnomedesktop3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:966 -msgid "`gnomedocutils`" +msgid "`gnomedesktop4`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:967 -msgid "`gnomemenus3`" +msgid "`gnomedocutils`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:968 -msgid "`gnomemimedata`" +msgid "`gnomemenus3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:969 -msgid "`gnomeprefix`" +msgid "`gnomemimedata`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:970 -msgid "`gnomesharp20`" +msgid "`gnomeprefix`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:971 -msgid "`gnomevfs2`" +msgid "`gnomesharp20`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:972 -msgid "`gsound`" +msgid "`gnomevfs2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:973 -msgid "`gtk-update-icon-cache`" +msgid "`gsound`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:974 -msgid "`gtk12`" +msgid "`gtk-update-icon-cache`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:975 -msgid "`gtk20`" +msgid "`gtk12`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:976 -msgid "`gtk30`" +msgid "`gtk20`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:977 -msgid "`gtkhtml3`" +msgid "`gtk30`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:978 -msgid "`gtkhtml4`" +msgid "`gtkhtml3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:979 -msgid "`gtkmm20`" +msgid "`gtkhtml4`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:980 -msgid "`gtkmm24`" +msgid "`gtkmm20`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:981 -msgid "`gtkmm30`" +msgid "`gtkmm24`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:982 -msgid "`gtksharp20`" +msgid "`gtkmm30`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:983 -msgid "`gtksourceview`" +msgid "`gtksharp20`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:984 -msgid "`gtksourceview2`" +msgid "`gtksourceview`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:985 -msgid "`gtksourceview3`" +msgid "`gtksourceview2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:986 -msgid "`gtksourceviewmm3`" +msgid "`gtksourceview3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:987 -msgid "`gvfs`" +msgid "`gtksourceviewmm3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:988 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1785 -msgid "`intlhack`" +msgid "`gvfs`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:989 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1786 -msgid "`intltool`" +msgid "`intlhack`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:990 -msgid "`introspection`" +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1787 +msgid "`intltool`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:991 -msgid "`libartlgpl2`" +msgid "`introspection`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:992 -msgid "`libbonobo`" +msgid "`libartlgpl2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:993 -msgid "`libbonoboui`" +msgid "`libbonobo`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:994 -msgid "`libgda5`" +msgid "`libbonoboui`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:995 -msgid "`libgda5-ui`" +msgid "`libgda5`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:996 -msgid "`libgdamm5`" +msgid "`libgda5-ui`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:997 -msgid "`libglade2`" +msgid "`libgdamm5`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:998 -msgid "`libgnome`" +msgid "`libglade2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:999 -msgid "`libgnomecanvas`" +msgid "`libgnome`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1000 -msgid "`libgnomekbd`" +msgid "`libgnomecanvas`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1001 -msgid "`libgnomeprint`" +msgid "`libgnomekbd`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1002 -msgid "`libgnomeprintui`" +msgid "`libgnomeprint`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1003 -msgid "`libgnomeui`" +msgid "`libgnomeprintui`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1004 -msgid "`libgsf`" +msgid "`libgnomeui`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1005 -msgid "`libgtkhtml`" +msgid "`libgsf`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1006 -msgid "`libgtksourceviewmm`" +msgid "`libgtkhtml`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1007 -msgid "`libidl`" +msgid "`libgtksourceviewmm`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1008 -msgid "`librsvg2`" +msgid "`libidl`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1009 -msgid "`libsigc++12`" +msgid "`librsvg2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1010 -msgid "`libsigc++20`" +msgid "`libsigc++12`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1011 -msgid "`libwnck`" +msgid "`libsigc++20`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1012 -msgid "`libwnck3`" +msgid "`libwnck`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1013 -msgid "`libxml++26`" +msgid "`libwnck3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1014 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1636 -msgid "`libxml2`" +msgid "`libxml++26`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1015 -msgid "`libxslt`" +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1637 +msgid "`libxml2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1016 -msgid "`metacity`" +msgid "`libxslt`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1017 -msgid "`nautilus3`" +msgid "`metacity`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1018 -msgid "`orbit2`" +msgid "`nautilus3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1019 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1236 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1647 -msgid "`pango`" +msgid "`orbit2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1020 -msgid "`pangomm`" +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1237 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1648 +msgid "`pango`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1021 -msgid "`pangox-compat`" +msgid "`pangomm`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1022 -msgid "`py3gobject3`" +msgid "`pangox-compat`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1023 -msgid "`pygnome2`" +msgid "`py3gobject3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1024 -msgid "`pygobject`" +msgid "`pygnome2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1025 -msgid "`pygobject3`" +msgid "`pygobject`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1026 -msgid "`pygtk2`" +msgid "`pygobject3`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1027 -msgid "`pygtksourceview`" +msgid "`pygtk2`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1028 -msgid "`referencehack`" +msgid "`pygtksourceview`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1029 -msgid "`vte`" +msgid "`referencehack`" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/uses/_index.adoc:1030 +msgid "`vte`" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1031 msgid "`vte3`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1033 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1799 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1034 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1800 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:1038 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1039 #, 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:1041 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1042 msgid "See crossref:special[using-gnome,Using GNOME] for more information." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1043 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1044 #, no-wrap msgid "`go`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1048 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1049 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:1051 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1052 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:1058 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1059 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:1060 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1061 msgid "The build process is controlled by several variables:" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1061 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1062 #, no-wrap msgid "`GO_MODULE`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1064 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1065 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:1065 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1066 #, no-wrap msgid "`GO_PKGNAME`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1070 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1071 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:1071 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1072 #, no-wrap msgid "`GO_TARGET`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1075 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1076 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:1076 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1077 #, no-wrap msgid "`GO_TESTTARGET`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1079 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1080 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:1080 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1081 #, no-wrap msgid "`CGO_CFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1082 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1083 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:1083 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1084 #, no-wrap msgid "`CGO_LDFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1085 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1086 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:1086 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1087 #, no-wrap msgid "`GO_BUILDFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1088 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1089 msgid "Additional build arguments to be passed to `go build`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1089 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1090 #, no-wrap msgid "`GO_TESTFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1091 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1092 msgid "Additional build arguments to be passed to `go test`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1093 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1094 msgid "" "See crossref:special[using-go,Building Go Applications] for usage examples." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1095 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1096 #, no-wrap msgid "`gperf`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1100 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1101 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:1102 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1103 #, no-wrap msgid "`grantlee`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1105 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1106 msgid "Possible arguments: `5`, `selfbuild`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1109 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1110 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:1111 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1112 #, no-wrap msgid "`groff`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1114 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1115 msgid "Possible arguments: `build`, `run`, `both`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1116 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1117 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:1118 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1119 #, no-wrap msgid "`gssapi`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1121 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1122 msgid "" "Possible arguments: (none), `base` (default), `heimdal`, `mit`, `flags`, " "`bootstrap`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1126 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1127 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:1128 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1129 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:1130 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1131 msgid "These variables are exported for the ports to use:" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1132 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1133 msgid "`GSSAPIBASEDIR`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1133 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1134 msgid "`GSSAPICPPFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1134 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1135 msgid "`GSSAPIINCDIR`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1135 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1136 msgid "`GSSAPILDFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1136 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1137 msgid "`GSSAPILIBDIR`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1137 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1138 msgid "`GSSAPILIBS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1138 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1139 msgid "`GSSAPI_CONFIGURE_ARGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1141 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1142 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:1144 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1145 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:1146 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1147 #, no-wrap msgid "Typical Use" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1153 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1154 #, 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:1161 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1162 #, 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:1166 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1167 #, no-wrap msgid "`gstreamer`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1173 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1174 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:1175 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1176 msgid "`a52dec`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1176 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1177 msgid "`aalib`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1177 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1178 msgid "`amrnb`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1178 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1179 msgid "`amrwbdec`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1179 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1180 msgid "`aom`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1180 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1181 msgid "`assrender`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1181 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1182 msgid "`bad`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1182 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1183 msgid "`bs2b`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1184 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1185 msgid "`cdio`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1185 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1186 msgid "`cdparanoia`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1186 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1187 msgid "`chromaprint`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1187 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1602 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1188 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1603 msgid "`curl`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1188 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1189 msgid "`dash`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1189 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1190 msgid "`dtls`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1190 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1191 msgid "`dts`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1191 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1192 msgid "`dv`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1192 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1193 msgid "`dvd`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1193 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1194 msgid "`dvdread`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1194 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1195 msgid "`editing-services`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1195 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1196 msgid "`faac`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1196 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1197 msgid "`faad`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1197 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1609 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1198 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1610 msgid "`flac`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1198 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1199 msgid "`flite`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1201 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1202 msgid "`gme`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1202 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1203 msgid "`gnonlin`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1203 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1204 msgid "`good`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1204 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1205 msgid "`gsm`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1205 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1206 msgid "`gtk4`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1206 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1207 msgid "`gtk`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1207 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1208 msgid "`hal`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1208 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1209 msgid "`hls`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1209 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1210 msgid "`jack`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1210 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1426 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1618 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1211 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1427 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1619 #, no-wrap msgid "`jpeg`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1211 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1212 msgid "`kate`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1212 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1213 msgid "`kms`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1213 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1214 msgid "`ladspa`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1214 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1215 msgid "`lame`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1215 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1216 msgid "`libav`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1216 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1217 msgid "`libcaca`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1217 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1218 msgid "`libde265`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1218 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1219 msgid "`libmms`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1219 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1220 msgid "`libvisual`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1220 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1221 msgid "`lv2`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1221 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1222 msgid "`mm`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1222 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1223 msgid "`modplug`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1223 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1224 msgid "`mpeg2dec`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1224 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1225 msgid "`mpeg2enc`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1225 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1226 msgid "`mpg123`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1226 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1227 msgid "`mplex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1227 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1228 msgid "`musepack`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1228 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1229 msgid "`neon`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1229 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1230 msgid "`ogg`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1230 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1231 msgid "`opencv`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1231 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1232 msgid "`openexr`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1232 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1233 msgid "`openh264`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1233 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1234 msgid "`openjpeg`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1234 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1235 msgid "`openmpt`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1235 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1236 msgid "`opus`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1237 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1649 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1238 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1650 msgid "`png`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1238 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1239 msgid "`pulse`" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1239 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1651 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2345 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1240 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1652 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2346 #, no-wrap msgid "`qt`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1240 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1241 msgid "`resindvd`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1241 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1242 msgid "`rsvg`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1242 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1243 msgid "`rtmp`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1243 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1244 msgid "`shout2`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1244 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1245 msgid "`sidplay`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1245 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1246 msgid "`smoothstreaming`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1246 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1247 msgid "`sndfile`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1247 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1248 msgid "`sndio`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1248 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1249 msgid "`soundtouch`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1249 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1250 msgid "`soup`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1250 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1251 msgid "`spandsp`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1251 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1252 msgid "`speex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1252 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1253 msgid "`srtp`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1253 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1254 msgid "`taglib`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1254 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1255 msgid "`theora`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1255 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1256 msgid "`ttml`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1256 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1257 msgid "`twolame`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1257 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1258 msgid "`ugly`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1258 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1259 msgid "`v4l2`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1259 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1260 msgid "`vorbis`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1260 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1261 msgid "`vpx`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1261 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1262 msgid "`vulkan`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1262 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1263 msgid "`wavpack`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1263 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1264 msgid "`webp`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1264 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1265 msgid "`webrtcdsp`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1265 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1266 msgid "`x264`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1266 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1267 msgid "`x265`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1267 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1268 msgid "`x`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1268 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1269 msgid "`ximagesrc`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1269 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1270 msgid "`zbar`" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1271 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1272 #, no-wrap msgid "`guile`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1274 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1275 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:1278 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1279 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:1281 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1282 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:1284 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1285 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:1286 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1287 msgid "For more information see crossref:special[using-guile,Using Guile]." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1288 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1289 #, no-wrap msgid "`horde`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1295 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1296 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:1297 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1298 #, no-wrap msgid "`iconv`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1300 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1301 msgid "" "Possible arguments: (none), `lib`, `build`, `patch`, `translit`, `wchar_t`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1306 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1307 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:1308 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1309 #, no-wrap msgid "`imake`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1311 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1312 msgid "Possible arguments: (none), `env`, `notall`, `noman`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1316 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1317 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:1318 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1319 #, no-wrap msgid "`java`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1321 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1322 msgid "Possible arguments: (none), `ant`, `build`, `extract`, `run`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1328 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1329 msgid "" "Defaults to `USES=java:build,run` if no arguments are provided and " "`NO_BUILD` is undefined. If `NO_BUILD` is defined, `USES=java:run` is used. " "If the `ant` argument is given, the port uses Apache Ant. If the `build` " "argument is given, a JDK port is added to the build dependencies. If the " "`extract` argument is given, a JDK port is added to the extract " "dependencies. If the `run` argument is given, a JDK port is added to the " "run dependencies." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1331 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1332 #, no-wrap msgid "`JAVA_VERSION`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1335 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1336 msgid "" "List of space-separated suitable java versions for the port. An optional `\\" "+` allows you to specify a range of versions. (allowed values `8[+]`, `11[\\" "+]`, `17[+]`, `18[\\+]`, `19[+]`, `20[\\+]`, `21[+]`, `22[\\+]`, `22[+]`)" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1336 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1337 #, no-wrap msgid "`JAVA_OS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1339 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1340 msgid "" "List of space-separated suitable JDK port operating systems for the port. " "(allowed values: `native`, `linux`)" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1340 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1341 #, no-wrap msgid "`JAVA_VENDOR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1343 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1344 msgid "" "List of space-separated suitable JDK port vendors for the port. (allowed " "values: `openjdk`, `oracle`)" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1345 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1346 msgid "The framework exposes the following variables to be read by the port:" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1346 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1347 #, no-wrap msgid "`JAVA_PORT`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1348 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1349 msgid "The name of the JDK port. (e.g. 'java/openjdk8')" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1349 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1350 #, no-wrap msgid "`JAVA_PORT_VERSION`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1351 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1352 msgid "The version of the JDK port. (e.g. '8')" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1352 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1353 #, no-wrap msgid "`JAVA_PORT_OS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1354 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1355 msgid "The operating system used by the JDK port. (e.g. 'linux')" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1355 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1356 #, no-wrap msgid "`JAVA_PORT_VENDOR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1357 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1358 msgid "The vendor of the JDK port. (e.g. 'openjdk')" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1358 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1359 #, no-wrap msgid "`JAVA_PORT_OS_DESCRIPTION`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1360 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1361 msgid "" "Description of the operating system used by the JDK port. (e.g. 'Linux')" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1361 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1362 #, no-wrap msgid "`JAVA_PORT_VENDOR_DESCRIPTION`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1363 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1364 msgid "" "Description of the vendor of the JDK port. (e.g. 'OpenJDK BSD Porting Team')" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1364 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1365 #, no-wrap msgid "`JAVA_HOME`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1366 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1367 msgid "" "Path to the installation directory of the JDK. (e.g. [.filename]#/usr/local/" "openjdk8#)" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1367 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1368 #, no-wrap msgid "`JAVAC`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1370 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1371 msgid "" "Path to the Java compiler to use. (e.g. [.filename]#/usr/local/openjdk8/bin/" "javac# or [.filename]#/usr/local/bin/javac#)" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1371 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1372 #, no-wrap msgid "`JAR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1374 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1375 msgid "" "Path to the JAR tool to use. (e.g. [.filename]#/usr/local/openjdk8/bin/jar# " "or [.filename]#/usr/local/bin/fastjar#)" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1375 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1376 #, no-wrap msgid "`APPLETVIEWER`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1378 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1379 msgid "" "Path to the appletviewer utility. (e.g. [.filename]#/usr/local/linux-" "jdk1.8.0/bin/appletviewer#)" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1379 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1380 #, no-wrap msgid "`JAVA`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1381 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1382 msgid "" "Path to the `java` executable. Use this for executing Java programs. (e.g. " "[.filename]#/usr/local/openjdk8/bin/java#)" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1382 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1383 #, no-wrap msgid "`JAVADOC`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1384 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1385 msgid "Path to the `javadoc` utility program." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1385 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1386 #, no-wrap msgid "`JAVAH`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1387 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1388 msgid "Path to the `javah` program." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1388 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1389 #, no-wrap msgid "`JAVAP`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1390 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1391 msgid "Path to the `javap` program." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1391 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1392 #, no-wrap msgid "`JAVA_KEYTOOL`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1393 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1394 msgid "Path to the `keytool` utility program." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1394 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1395 #, no-wrap msgid "`JAVA_N2A`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1396 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1397 msgid "Path to the `native2ascii` tool." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1397 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1398 #, no-wrap msgid "`JAVA_POLICYTOOL`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1399 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1400 msgid "Path to the `policytool` program." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1400 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1401 #, no-wrap msgid "`JAVA_SERIALVER`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1402 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1403 msgid "Path to the `serialver` utility program." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1403 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1404 #, no-wrap msgid "`RMIC`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1405 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1406 msgid "Path to the RMI stub/skeleton generator, `rmic`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1406 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1407 #, no-wrap msgid "`RMIREGISTRY`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1408 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1409 msgid "Path to the RMI registry program, `rmiregistry`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1409 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1410 #, no-wrap msgid "`RMID`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1411 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1412 msgid "Path to the RMI daemon program." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1412 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1413 #, no-wrap msgid "`JAVA_CLASSES`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1415 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1416 msgid "" "Path to the archive that contains the JDK class files. On most JDKs, this is " "[.filename]#${JAVA_HOME}/jre/lib/rt.jar#." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1416 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1417 #, no-wrap msgid "`JAVASHAREDIR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1418 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1419 msgid "The base directory for all shared Java resources." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1419 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1420 #, no-wrap msgid "`JAVAJARDIR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1421 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1422 msgid "The directory where a port should install JAR files." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1422 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1423 #, no-wrap msgid "`JAVALIBDIR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1424 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1425 msgid "The directory where JAR files installed by other ports are located." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1429 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1430 msgid "Possible arguments: `lib` (default, implicit), `build`, `run`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1431 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1432 msgid "Help handling dependencies on `jpeg`." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1434 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1435 msgid "" "If the `lib` argument is provided or no arguments are provided then a lib " "dependency is added to the port." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1437 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1438 msgid "" "If the `build` argument is provided then a build dependency is added to the " "port." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1440 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1441 msgid "" "If the `run` argument is provided then a run dependency is added to the port." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1443 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1444 msgid "" "If the `both` argument is provided then a build dependency and a run " "dependency are added to the port." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1445 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1446 msgid "The framework provides the following variable that can be set by ports:" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1446 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1447 #, no-wrap msgid "`JPEG_PORT`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1448 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1449 msgid "Specifies the JPEG implementation to use. Possible values are:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1450 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1451 msgid "package:graphics/jpeg-turbo[] (default)" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1451 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1452 msgid "package:graphics/mozjpeg[]" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1453 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1454 #, no-wrap msgid "`kde`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1456 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1457 msgid "Possible arguments: `5`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1459 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1460 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:1461 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1462 #, no-wrap msgid "`kmod`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1464 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1465 msgid "Possible arguments: (none), `debug`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1466 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1467 msgid "Fills in the boilerplate for kernel module ports, currently:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1468 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1469 msgid "Add `kld` to `CATEGORIES`." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1469 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1470 msgid "Set `SSP_UNSAFE`." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1470 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1471 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:1471 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1472 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:1472 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1473 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:1473 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1474 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:1475 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1476 #, no-wrap msgid "`kodi`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1482 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1483 msgid "" "Provide support for package:multimedia/kodi[] add-ons. If the `noautoplist` " "argument is provided it does not generate the `plist` automatically." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1484 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1485 #, no-wrap msgid "`lazarus`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1487 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1488 msgid "Possible arguments: (none), `gtk2` (default), `qt5`, `qt6`, `flavors`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1489 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1490 msgid "Provide support for package:editors/lazarus[] based ports." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1493 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1494 msgid "" "If no arguments are provided or if `gtk2` is provided the lazarus-app is " "built with a `gtk2` interface the package:editors/lazarus[] port will be " "built with the `gtk2` interface." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1496 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1497 msgid "" "If the `qt5` argument is provided, the lazarus-app is built with a `qt5` " "interface." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1499 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1500 msgid "" "If the `qt6` argument is provided, the lazarus-app is built with a `qt6` " "interface." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1502 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1503 msgid "" "If the `flavors` argument is provided the lazarus-app is built with flavors " "feature." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1505 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1506 msgid "" "If the port does not require compiling lazarus project files automatically, " "the following variable can be defined:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1507 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1508 msgid "`NO_LAZBUILD`= `yes`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1509 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1510 msgid "The following variables are available for ports:" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1510 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1511 #, no-wrap msgid "`LAZARUS_PROJECT_FILES`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1512 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1513 msgid "List of lpi files. It must not be empty. Default: empty" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1513 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1514 #, no-wrap msgid "`LAZARUS_DIR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1516 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1517 msgid "" "Path to lazarus installation directory Default: [.filename]#${LOCALBASE}/" "share/lazarus-${LAZARUS_VER}#" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1517 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1518 #, no-wrap msgid "`LAZBUILD_ARGS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1521 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1522 msgid "" "lazbuild extra args. It could be `-d` in most of cases. See man:lazbuild[1] " "for more information. Default: empty" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1522 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1523 #, no-wrap msgid "`LAZARUS_NO_FLAVORS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1525 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1526 msgid "" "Do not build these lazarus flavors. If `LAZARUS_NO_FLAVORS` is not defined " "then all valid lazarus flavors are assumed." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1526 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1527 #, no-wrap msgid "`WANT_LAZARUS_DEVEL`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1528 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1529 msgid "If set to `yes` then use package:lazarus/devel[] as build dependency." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1530 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1531 #, no-wrap msgid "`ldap`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1533 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1534 msgid "Possible arguments: (none), , client, server" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1541 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1542 msgid "" "Registers a dependency on package:net/openldap[]. It uses the specific " "`` (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: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1544 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1545 #, no-wrap msgid "`IGNORE_WITH_OPENLDAP`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1546 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1547 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:1546 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1547 #, no-wrap msgid "`WITH_OPENLDAP_VER`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1548 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1549 msgid "User defined variable to set OpenLDAP version." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1548 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1549 #, no-wrap msgid "`OPENLDAP_VER`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1550 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1551 msgid "Detected OpenLDAP version." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1552 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1553 #, no-wrap msgid "`lha`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1557 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1558 msgid "Set `EXTRACT_SUFX` to `.lzh`" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1559 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1560 #, no-wrap msgid "`libarchive`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1565 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1566 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:1567 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1568 #, no-wrap msgid "`libedit`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1573 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1574 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:1575 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1576 #, no-wrap msgid "`libtool`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1578 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1579 msgid "Possible arguments: (none), `keepla`, `build`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1582 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1583 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:1584 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1585 #, no-wrap msgid "`linux`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1587 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1588 msgid "Possible arguments: `c6`, `c7`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1591 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1592 msgid "" "Ports Linux compatibility framework. Specify `c6` to depend on CentOS 6 " "packages. 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:1593 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1594 msgid "`allegro`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1594 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1595 msgid "`alsa-plugins-oss`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1595 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1596 msgid "`alsa-plugins-pulseaudio`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1596 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1597 msgid "`alsalib`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1598 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1599 msgid "`avahi-libs`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1599 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2819 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1600 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2820 msgid "`base`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1601 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1602 msgid "`cups-libs`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1603 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1604 msgid "`cyrus-sasl2`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1604 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1605 msgid "`dbusglib`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1605 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1606 msgid "`dbuslibs`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1606 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1607 msgid "`devtools`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1607 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1608 msgid "`dri`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1608 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1609 msgid "`expat`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1610 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1611 msgid "`fontconfig`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1612 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1613 msgid "`gnutls`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1613 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1614 msgid "`graphite2`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1614 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1615 msgid "`gtk2`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1615 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1616 msgid "`harfbuzz`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1616 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1617 msgid "`jasper`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1617 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1618 msgid "`jbigkit`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1619 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1620 msgid "`libasyncns`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1620 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1621 msgid "`libaudiofile`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1621 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1622 msgid "`libelf`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1622 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1623 msgid "`libgcrypt`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1623 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1624 msgid "`libgfortran`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1624 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1625 msgid "`libgpg-error`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1625 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1626 msgid "`libmng`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1626 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1627 msgid "`libogg`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1627 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1628 msgid "`libpciaccess`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1628 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1629 msgid "`libsndfile`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1629 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1630 msgid "`libsoup`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1630 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1631 msgid "`libssh2`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1631 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1632 msgid "`libtasn1`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1632 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1633 msgid "`libthai`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1633 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1634 msgid "`libtheora`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1634 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1635 msgid "`libv4l`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1635 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1636 msgid "`libvorbis`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1637 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1638 msgid "`mikmod`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1638 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1639 msgid "`naslibs`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1639 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1640 msgid "`ncurses-base`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1640 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1641 msgid "`nspr`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1641 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1642 msgid "`nss`" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1642 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2025 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1643 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2026 #, no-wrap msgid "`openal`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1643 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1644 msgid "`openal-soft`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1644 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1645 msgid "`openldap`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1645 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1646 msgid "`openmotif`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1646 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1647 msgid "`openssl`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1648 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3000 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1649 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3001 #, no-wrap msgid "`pixman`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1650 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1651 msgid "`pulseaudio-libs`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1652 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1653 msgid "`qt-x11`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1653 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1654 msgid "`qtwebkit`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1654 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1655 msgid "`scimlibs`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1655 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1656 msgid "`sdl12`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1656 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1657 msgid "`sdlimage`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1657 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1658 msgid "`sdlmixer`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1658 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1659 msgid "`sqlite3`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1659 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1660 msgid "`tcl85`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1660 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1661 msgid "`tcp_wrappers-libs`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1661 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1662 msgid "`tiff`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1662 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1663 msgid "`tk85`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1663 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1664 msgid "`ucl`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1664 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1665 msgid "`xorglibs`" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1666 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1667 #, no-wrap msgid "`llvm`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1669 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1670 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:1677 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1678 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:1678 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1679 #, no-wrap msgid "`LLVM_VERSION`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1680 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1681 msgid "Version chosen from the arguments to llvm.mk" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1680 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1681 #, no-wrap msgid "`LLVM_PORT`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1682 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1683 msgid "Chosen llvm port" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1682 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1683 #, no-wrap msgid "`LLVM_CONFIG`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1684 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1685 msgid "llvm-config of the chosen port" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1684 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1685 #, no-wrap msgid "`LLVM_LIBLLVM`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1686 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1687 msgid "libLLVM.so of the chosen port" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1686 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1687 #, no-wrap msgid "`LLVM_PREFIX`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1688 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1689 msgid "Installation prefix of the chosen port" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1690 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1691 #, no-wrap msgid "`localbase`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1693 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1694 msgid "Possible arguments: (none), `ldflags`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1698 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1699 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:1700 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1701 #, no-wrap msgid "`lua`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1703 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1704 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:1707 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1708 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:1709 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1710 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:1712 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1713 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:1714 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1733 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1715 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1734 msgid "For more information see crossref:special[using-lua,Using Lua]." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1716 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1717 #, no-wrap msgid "`luajit`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1719 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1720 msgid "Possible arguments: (none), `_X_`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1722 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1723 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:1724 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1725 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:1725 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1726 #, no-wrap msgid "`LUAJIT_VER`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1727 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1728 msgid "The selected luajit version" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1727 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1728 #, no-wrap msgid "`LUAJIT_INCDIR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1729 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1730 msgid "The path to luajit's header files" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1729 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1730 #, no-wrap msgid "`LUAJIT_LUAVER`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1731 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1732 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:1735 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1736 #, no-wrap msgid "`lxqt`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1742 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1743 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:1744 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1745 #, no-wrap msgid "`magick`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1747 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1748 msgid "Possible arguments: (none), `_X_`, `build`, `nox11`, `run`, `test`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1752 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1753 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:1754 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1755 #, no-wrap msgid "`makeinfo`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1759 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1760 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:1761 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1762 #, no-wrap msgid "`makeself`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1766 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1767 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:1768 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1769 #, no-wrap msgid "`mate`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1775 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1776 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:1777 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1778 msgid "`autogen`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1778 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1779 msgid "`caja`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1779 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1780 msgid "`common`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1780 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1781 msgid "`controlcenter`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1781 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1782 msgid "`desktop`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1782 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1783 msgid "`dialogs`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1783 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1784 msgid "`docutils`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1784 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1785 msgid "`icontheme`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1787 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1788 msgid "`libmatekbd`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1788 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1789 msgid "`libmateweather`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1789 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1790 msgid "`marco`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1790 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1791 msgid "`menus`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1791 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1792 msgid "`notificationdaemon`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1792 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1793 msgid "`panel`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1793 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1794 msgid "`pluma`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1794 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1795 msgid "`polkit`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1795 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1796 msgid "`session`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1796 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1797 msgid "`settingsdaemon`" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1804 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1805 #, 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:1807 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1808 #, no-wrap msgid "`meson`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1813 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1814 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:1815 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1816 #, no-wrap msgid "`metaport`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1820 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1821 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:1822 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1823 #, no-wrap msgid "`minizip`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1825 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1826 msgid "Possible arguments: (none), `ng`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1827 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1828 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:1829 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1830 #, no-wrap msgid "`mlt`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1832 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1833 msgid "Possible arguments: `7`, `nodepend`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1834 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1835 msgid "Provide support for ports depending on package:multimedia/mlt7[]." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1837 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1838 msgid "" "If the `nodepend` argument is provided no library dependency is generated. " "This argument only makes sense for multimedia/mlt7* ports." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1839 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1840 #, no-wrap msgid "`mysql`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1842 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1843 msgid "" "Possible arguments: (none), `_version_`, `client` (default), `server`, " "`embedded`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1851 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1852 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:1853 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1854 msgid "The framework sets `MYSQL_VER` to the detected MySQL version." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1855 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1856 #, no-wrap msgid "`mono`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1858 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1859 msgid "Possible arguments: (none), `nuget`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1860 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1861 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:1864 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1865 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:1866 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1867 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:1868 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1869 #, no-wrap msgid "`motif`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1877 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1878 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:1879 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1880 #, no-wrap msgid "`mpi`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1882 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1883 msgid "Possible arguments: `mpich` (default), `openmpi`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1884 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1885 msgid "Provide support for ports depending on `MPI`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1887 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1888 msgid "" "If the `mpich` argument is provided a dependency on package:net/mpich[] is " "added to the port." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1890 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1891 msgid "" "If the `openmpi` argument is provided a dependency on package:net/openmpi[] " "is added to the port." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1892 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1893 msgid "" "The ports framework provides the following variables that can be read by the " "port:" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1893 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1894 #, no-wrap msgid "`MPI_LIBS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1895 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1896 msgid "Libraries needed to link programs using `MPI`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1896 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1897 #, no-wrap msgid "`MPI_CFLAGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1898 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1899 msgid "Compiler flags necessary to build programs using `MPI`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1899 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1900 #, no-wrap msgid "`MPICC`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1901 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1902 msgid "" "Location of the `mpicc` executable. Default: [.filename]#${MPI_HOME}/bin/" "mpicc#." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1902 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1903 #, no-wrap msgid "`MPICXX`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1904 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1905 msgid "" "Location of the `mpicxx` executable. Default: [.filename]#${MPI_HOME}/bin/" "mpicxx#." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1905 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1906 #, no-wrap msgid "`MPIF90`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1907 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1908 msgid "" "Location of the `mpif90` executable. Default: [.filename]#${MPI_HOME}/bin/" "mpif90#." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1908 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1909 #, no-wrap msgid "`MPIFC`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1910 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1911 msgid "Same as above." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1911 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1912 #, no-wrap msgid "`MPI_HOME`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1913 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1914 msgid "" "Installation directory of `MPI`. Defaults to `${LOCALBASE}` for `MPICH`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1914 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1915 #, no-wrap msgid "`MPIEXEC`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1916 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1917 msgid "" "Location of the `mpiexec` executable. Default: [.filename]#${MPI_HOME}/bin/" "mpiexec#." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1917 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1918 #, no-wrap msgid "`MPIRUN`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1919 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1920 msgid "" "Location of the `mpirun` executable. Default: [.filename]#${MPI_HOME}/bin/" "mpirun#." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1922 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1923 #, no-wrap msgid "`ncurses`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1925 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1926 msgid "Possible arguments: (none), `base`, `port`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1927 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1928 msgid "Uses ncurses, and causes some useful variables to be set." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1929 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1930 #, no-wrap msgid "`nextcloud`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1934 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1935 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:1936 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1937 #, no-wrap msgid "`ninja`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1939 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1940 msgid "Possible arguments: (none), `build`, `make` (default), `run`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1946 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1947 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 " "dependencies are set on package:devel/samurai[] instead." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1948 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1949 #, no-wrap msgid "`nodejs`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1952 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1953 #, 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:1955 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1956 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:1957 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1958 #, no-wrap msgid "`objc`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1962 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1963 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:1964 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1965 #, no-wrap msgid "`ocaml`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1967 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1968 msgid "" "Possible arguments: (none), " "`build`,`camlp4`,`dune`,`findlib`,`findplist`,`ldconfig`,`run`,`tk`,`tkbuild`,`tkrun`,`wash`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1969 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1970 msgid "Provide support for OCaml." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1971 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1972 msgid "If no arguments are provided, it defaults to `build`, `run`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1974 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1975 msgid "" "If the `build` argument is provided then package:lang/ocamlc[] is added to " "`BUILD_DEPENDS`, `EXTRACT` and `PATCH_DEPENDS`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1976 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1977 msgid "" "If the `camlp4` argument is provided then package:devel/ocamlp4[] is used to " "build." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1978 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1979 msgid "" "If the `dune` argument is provided then package:devel/ocaml-dune[] is used " "as build system." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1980 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1981 msgid "" "If the `findlib` argument is provided then `ocamlfind` will be used to " "install packages. Package directories will be automatically deleted." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1982 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1983 msgid "" "If the `findplist` argument is provided then contents of the `findlib` " "target directories will be added automatically." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1987 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1988 msgid "" "If the `ldconfig` argument is provided then OCaml's [.filename]#ld.conf# " "file will be automatically processed. When `dune` is used Dune may install " "stublibs in site-lib package directory(ies) or in a single directory below " "`DUNE_LIBDIR` site-lib directory. Set if your port installs shared " "libraries into ocaml" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1989 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1990 msgid "If the `run` argument is provided add ocamlc to `RUN_DEPENDS`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1993 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1994 msgid "" "If the `tk` argument is provided then a build and run dependency on " "package:x11-toolkits/ocaml-labltk[] is added to the port. Implies `tkbuild` " "and `tkrun`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1996 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1997 msgid "" "If the `tkbuild` argument is provided then package:x11-toolkits/ocaml-" "labltk[] is added to `BUILD_DEPENDS`, `EXTRACT` and `PATCH_DEPENDS`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:1999 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2000 msgid "" "If the `tkrun` argument is provided then package:x11-toolkits/ocaml-labltk[] " "is added to `RUN_DEPENDS`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2002 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2003 msgid "" "If the `wash` argument is provided Ocaml's shared directories will be purged " "on uninstall. Useful when installing to non-standard `PREFIX`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2004 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2005 msgid "The following variables can be set by the port:" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2005 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2006 #, no-wrap msgid "`OCAML_PKGDIRS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2007 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2008 msgid "" "Directories under site-lib to be processed if the `findlib` argument is " "specified. Default: `${PORTNAME}`" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2008 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2009 #, no-wrap msgid "`OCAML_LDLIBS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2011 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2012 msgid "" "Directories under `PREFIX` to be automatically added/removed from " "[.filename]#ld.conf#. Default: `${OCAML_SITELIBDIR}/${PORTNAME}`" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2012 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2013 #, no-wrap msgid "`OCAML_PACKAGES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2014 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2015 msgid "List of packages to build and install. Default to `${PORTNAME}`" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2017 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2018 #, no-wrap msgid "`octave`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2020 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2021 msgid "Possible arguments: (none), env" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2023 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2024 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:2028 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2029 msgid "Possible arguments: `al`, `soft` (default), `si`, `alut`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2033 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2034 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:2035 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2036 #, no-wrap msgid "`pathfix`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2042 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2043 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:2045 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2046 msgid "" "If the port crossref:uses[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:2047 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2048 #, no-wrap msgid "`pear`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2050 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2051 msgid "Possible arguments: `env`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2055 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2056 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:2057 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2058 #, no-wrap msgid "`perl5`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2062 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2063 msgid "Depends on Perl. The configuration is done using `USE_PERL5`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2064 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2065 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:2067 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2068 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:2070 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2071 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:2072 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2073 msgid "See crossref:special[using-perl,Using Perl] for more information." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2074 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2075 #, no-wrap msgid "`pgsql`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2077 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2078 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:2081 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2082 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:2086 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2087 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:2088 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2089 msgid "`client`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2089 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2090 msgid "`contrib`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2090 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2822 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2091 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2823 msgid "`docs`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2091 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2092 msgid "`pgtcl`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2092 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2093 msgid "`plperl`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2093 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2094 msgid "`plpython`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2094 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2095 msgid "`pltcl`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2095 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2096 msgid "`server`" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2097 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2098 #, no-wrap msgid "`php`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2100 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2101 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:2103 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2104 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:2104 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2105 #, no-wrap msgid "`phpize`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2107 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2108 msgid "Use to build a PHP extension. Enables flavors." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2108 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2109 #, no-wrap msgid "`ext`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2111 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2112 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:2112 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2113 #, no-wrap msgid "`zend`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2115 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2116 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:2116 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2117 #, no-wrap msgid "`build`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2118 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2119 msgid "Set PHP also as a build-time dependency." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2119 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2120 #, no-wrap msgid "`cli`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2121 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2122 msgid "Needs the CLI version of PHP." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2122 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2123 #, no-wrap msgid "`cgi`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2124 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2125 msgid "Needs the CGI version of PHP." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2125 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2126 #, no-wrap msgid "`mod`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2127 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2128 msgid "Needs the Apache module for PHP." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2128 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2129 #, no-wrap msgid "`web`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2130 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2131 msgid "Needs the Apache module or the CGI version of PHP." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2131 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2132 #, no-wrap msgid "`embed`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2133 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2134 msgid "Needs the embedded library version of PHP." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2134 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2135 #, no-wrap msgid "`pecl`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2137 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2138 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:2138 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2139 #, no-wrap msgid "`flavors`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2142 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2143 msgid "" "Enable automatic crossref:flavors[flavors-auto-php,PHP flavors] generation. " "Flavors will be generated for all PHP versions, except the ones present in " "crossref:uses[uses-php-ignore,`IGNORE_WITH_PHP`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2143 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2144 #, no-wrap msgid "`noflavors`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2146 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2147 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:2148 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2149 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:2149 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2150 #, no-wrap msgid "`USE_PHP`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2153 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2154 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:2155 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2156 #, no-wrap msgid "`IGNORE_WITH_PHP`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2158 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2159 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:2160 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2161 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:2161 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2162 #, no-wrap msgid "`PHP_MODNAME`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2164 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2165 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:2165 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2166 #, no-wrap msgid "`PHP_HEADER_DIRS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2168 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2169 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:2169 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2170 #, no-wrap msgid "`PHP_MOD_PRIO`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2172 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2173 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:2177 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2178 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:2183 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2184 #, 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:2186 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2187 msgid "" "These variables are available to use in `PKGNAMEPREFIX` or `PKGNAMESUFFIX`:" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2187 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2188 #, no-wrap msgid "`PHP_PKGNAMEPREFIX`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2190 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2191 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:2191 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2192 #, no-wrap msgid "`PHP_PKGNAMESUFFIX`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2194 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2195 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:2195 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2196 #, no-wrap msgid "`PECL_PKGNAMEPREFIX`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2198 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2199 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:2203 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2204 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:2206 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2207 #, no-wrap msgid "`pkgconfig`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2209 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2210 msgid "Possible arguments: (none), `build` (default), `run`, `both`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2213 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2214 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:2215 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2216 #, no-wrap msgid "`pure`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2218 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2219 msgid "Possible arguments: (none), `ffi`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2222 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2223 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:2224 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2225 #, no-wrap msgid "`pyqt`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2227 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2228 msgid "Possible arguments: (none), `4`, `5`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2231 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2232 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:2233 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2234 msgid "`core`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2234 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2235 msgid "`dbus`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2235 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2236 msgid "`dbussupport`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2236 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2237 msgid "`demo`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2237 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2238 msgid "`designer`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2238 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2239 msgid "`designerplugin`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2239 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2240 msgid "`doc`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2240 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2241 msgid "`gui`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2241 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2242 msgid "`multimedia`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2242 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2243 msgid "`network`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2244 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2245 msgid "`qscintilla2`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2245 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2246 msgid "`sip`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2246 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2247 msgid "`sql`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2247 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2248 msgid "`svg`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2248 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2249 msgid "`test`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2249 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2250 msgid "`webkit`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2250 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2251 msgid "`xml`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2251 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2252 msgid "`xmlpatterns`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2253 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2254 msgid "These components are only available with PyQT4:" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2255 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2256 msgid "`assistant`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2256 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2257 msgid "`declarative`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2257 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2258 msgid "`help`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2258 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2259 msgid "`phonon`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2259 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2260 msgid "`script`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2260 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2261 msgid "`scripttools`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2262 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2263 msgid "These components are only available with PyQT5:" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2264 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2265 msgid "`multimediawidgets`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2265 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2266 msgid "`printsupport`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2266 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2267 msgid "`qml`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2267 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2268 msgid "`serialport`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2268 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2269 msgid "`webkitwidgets`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2269 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2270 msgid "`widgets`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2271 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2272 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:2276 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2277 #, 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:2279 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2280 #, no-wrap msgid "`pytest`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2282 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2283 msgid "Possible arguments: (none), 4" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2289 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2290 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:2290 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2291 #, no-wrap msgid "`PYTEST_ARGS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2292 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2293 msgid "Additional arguments to pytest (defaults to empty)." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2293 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2294 #, no-wrap msgid "`PYTEST_IGNORED_TESTS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2296 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2297 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:2297 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2298 #, no-wrap msgid "`PYTEST_BROKEN_TESTS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2300 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2301 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:2302 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2303 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:2303 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2304 #, no-wrap msgid "`PYTEST_ENABLE_IGNORED_TESTS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2305 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2306 msgid "Enable tests which are otherwise ignored by `PYTEST_IGNORED_TESTS`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2306 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2307 #, no-wrap msgid "`PYTEST_ENABLE_BROKEN_TESTS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2308 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2309 msgid "Enable tests which are otherwise ignored by `PYTEST_BROKEN_TESTS`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2309 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2310 #, no-wrap msgid "`PYTEST_ENABLE_ALL_TESTS`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2312 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2313 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:2315 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2316 #, no-wrap msgid "`python`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2318 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2319 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:2323 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2324 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:2326 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2327 msgid "" "`USES=python:env` 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 " "crossref:uses[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:2328 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2329 #, no-wrap msgid "`qmail`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2331 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2332 msgid "Possible arguments: (none), `build`, `run`, `both`, `vars`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2336 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2337 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:2338 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2339 #, no-wrap msgid "`qmake`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2341 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2342 msgid "" "Possible arguments: (none), `norecursive`, `outsource`, `no_env`, " "`no_configure`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2343 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2344 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:2348 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2349 msgid "Possible arguments: `5`, `6`, `no_env`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2352 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2353 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:2354 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2355 #, no-wrap msgid "`qt-dist`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2357 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2358 #, 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:2360 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2361 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:2362 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2363 #, no-wrap msgid "Building Qt 5 Components" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2366 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2367 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:2371 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2372 #, 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:2373 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2374 #, no-wrap msgid "USES=\t\tqt-dist:5\n" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2379 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2380 #, no-wrap msgid "Building Qt 6 Components" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2383 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2384 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:2388 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2389 #, no-wrap msgid "" "PORTNAME= websockets\n" "PORTVERSION= ${QT6_VERSION}\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2390 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2391 #, no-wrap msgid "USES= qt-dist:6\n" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2395 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2396 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:2397 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2398 #, no-wrap msgid "Building Qt 5 Components with Different Names" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2401 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2402 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:2406 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2407 #, 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:2408 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2409 #, no-wrap msgid "USES=\t\tqt-dist:5,base\n" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2413 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2414 #, no-wrap msgid "`readline`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2416 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2417 msgid "Possible arguments: (none), `port`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2419 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2420 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:2422 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2423 #, no-wrap msgid "`ruby`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2425 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2426 msgid "Possible arguments: (none), `build`, `extconf`, `run`, `setup`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2432 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2433 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:2434 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2435 msgid "The user may have the following variables defined:" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2435 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2452 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2436 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2453 #, no-wrap msgid "`RUBY_VER`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2437 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2438 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:2438 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2439 #, no-wrap msgid "`RUBY_DEFAULT_VER`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2440 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2441 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:2441 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2442 #, no-wrap msgid "`RUBY_ARCH`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2443 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2444 msgid "Set the architecture name (e.g. i386-freebsd7)." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2445 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2920 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2446 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2921 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:2446 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2447 #, no-wrap msgid "`RUBY`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2451 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2452 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:2454 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2455 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:2455 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2456 #, no-wrap msgid "`RUBY_EXTCONF`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2457 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2458 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:2458 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2459 #, no-wrap msgid "`RUBY_EXTCONF_SUBDIRS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2460 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2461 msgid "Set to list of subdirectories, if multiple modules are included." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2461 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2462 #, no-wrap msgid "`RUBY_SETUP`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2463 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2464 msgid "Set to the alternative name of setup.rb (default: setup.rb)." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2466 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2467 #, no-wrap msgid "`samba`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2469 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2470 msgid "Possible arguments: `build`, `env`, `lib`, `run`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2474 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2475 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:2475 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2476 #, no-wrap msgid "`SAMBA_PORT`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2477 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2478 msgid "The origin of the default Samba port." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2478 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2479 #, no-wrap msgid "`SAMBA_INCLUDEDIR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2480 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2481 msgid "The location of the Samba header files." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2481 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2482 #, no-wrap msgid "`SAMBA_LIBS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2483 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2484 msgid "The directory where the Samba shared libraries are available." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2484 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2485 #, no-wrap msgid "`SAMBA_LDB_PORT`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2487 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2488 msgid "" "The origin of the ldb port used by the selected Samba version (e.g., " "package:databases/ldb28[]). It should be used if a port needs to depend on " "the same ldb version as the selected Samba version." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2488 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2489 #, no-wrap msgid "`SAMBA_TALLOC_PORT`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2491 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2492 msgid "" "The origin of the talloc port used by the selected Samba version. It should " "be used if a port needs to depend on the same talloc version as the selected " "Samba version." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2492 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2493 #, no-wrap msgid "`SAMBA_TDB_PORT`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2495 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2496 msgid "" "The origin of the TDB port used by the selected Samba version. It should be " "used if a port needs to depend on the same TDB version as the selected Samba " "version." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2496 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2497 #, no-wrap msgid "`SAMBA_TEVENT_PORT`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2499 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2500 msgid "" "The origin of the tevent port used by the selected Samba version. It should " "be used if a port needs to depend on the same tevent version as the selected " "Samba version." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2501 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2502 #, no-wrap msgid "`scons`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2507 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2508 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:2509 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2510 #, no-wrap msgid "`sdl`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2512 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2513 msgid "Possible arguments: `sdl`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2516 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2517 msgid "" "Provide support for the use of `SDL` packages. The variable `USE_SDL` is " "mandatory and specifies which components to add as dependencies." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2518 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2519 msgid "The current supported `SDL1.2` modules are:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2520 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2521 msgid "sdl" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2521 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2522 msgid "console" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2522 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2523 msgid "gfx" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2523 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2524 msgid "image" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2524 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2525 msgid "mixer" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2525 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2526 msgid "mm" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2526 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2527 msgid "net" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2527 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2528 msgid "pango" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2528 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2529 msgid "sound" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2529 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2530 msgid "ttf" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2531 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2532 msgid "The current supported `SDL2` modules are:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2533 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2534 msgid "sdl2" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2534 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2535 msgid "gfx2" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2535 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2536 msgid "image2" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2536 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2537 msgid "mixer2" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2537 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2538 msgid "net2" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2538 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2539 msgid "sound2" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2539 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2540 msgid "ttf2" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2541 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2542 msgid "The current supported `SDL3` modules are:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2543 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2544 msgid "sdl3" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2544 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2545 msgid "image3" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2545 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2546 msgid "ttf3" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2547 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2548 #, no-wrap msgid "`shared-mime-info`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2554 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2555 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:2556 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2557 #, no-wrap msgid "`shebangfix`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2562 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2563 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:2563 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2564 #, no-wrap msgid "`SHEBANG_REGEX`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2566 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2567 msgid "" "Contains _one_ extended regular expressions, and is used with the `-iregex` " "argument of man:find[1]. See crossref:uses[uses-shebangfix-ex-" "regex,`USESshebangfix` with `SHEBANG_REGEX`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2567 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2568 #, no-wrap msgid "`SHEBANG_GLOB`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2570 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2571 msgid "" "Contains a list of patterns used with the `-name` argument of man:find[1]. " "See crossref:uses[uses-shebangfix-ex-glob,`USESshebangfix` with " "`SHEBANG_GLOB`]." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2571 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2572 #, no-wrap msgid "`SHEBANG_FILES`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2576 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2577 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 crossref:uses[uses-shebangfix-ex-" "files,`USESshebangfix` with `SHEBANG_FILES`]." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2578 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2579 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:2580 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2581 msgid "There are three configuration variables:" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2581 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2582 #, no-wrap msgid "`SHEBANG_LANG`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2583 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2584 msgid "The list of supported interpreters." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2584 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2585 #, no-wrap msgid "`_interp__CMD`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2587 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2588 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:2588 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2589 #, no-wrap msgid "`_interp__OLD_CMD`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2592 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2593 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:2596 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2597 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:2603 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2604 msgid "" "`_interp__OLD_CMD` contain multiple values. Any entry with spaces must be " "quoted. See crossref:uses[uses-shebangfix-ex-ksh,Specifying all the Paths " "When Adding an Interpreter to `USESshebangfix`]." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2609 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2610 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:2611 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2612 msgid "" "Correct paths for supported interpreters are available in `_interp__CMD`." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2616 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2617 msgid "" "When used with crossref:uses[uses-python,`USES=python`], and the aim is only " "to fix the shebangs but a dependency on Python itself is not wanted, use " "`USES=python:env` instead." msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2619 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2620 #, no-wrap msgid "Adding Another Interpreter to `USES=shebangfix`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2624 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2625 msgid "To add another interpreter, set `SHEBANG_LANG`. For example:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2628 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2629 #, no-wrap msgid "SHEBANG_LANG=\tlua\n" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2633 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2634 #, 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:2637 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2638 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:2643 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2644 #, 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:2648 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2649 #, no-wrap msgid "Adding a Strange Location for an Interpreter" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2654 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2655 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:2658 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2659 #, 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:2663 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2664 #, no-wrap msgid "`USES=shebangfix` with `SHEBANG_REGEX`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2667 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2668 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:2672 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2673 #, 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:2678 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2679 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:2683 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2684 #, no-wrap msgid "`USES=shebangfix` with `SHEBANG_GLOB`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2687 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2688 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:2692 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2693 #, 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:2697 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2698 #, no-wrap msgid "`USES=shebangfix` with `SHEBANG_FILES`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2701 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2702 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:2706 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2707 #, 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:2711 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2712 #, no-wrap msgid "`sqlite`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2714 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2715 msgid "Possible arguments: (none), `2`, `3`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2717 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2718 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:2719 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2720 #, no-wrap msgid "`sbrk`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2724 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2725 msgid "Marks the port as `BROKEN` in `aarch64` and `riscv64`." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2726 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2727 #, no-wrap msgid "`ssl`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2729 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2730 msgid "Possible arguments: (none), `build`, `run`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2733 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2734 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:2734 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2735 #, no-wrap msgid "`OPENSSLBASE`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2736 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2737 msgid "Path to the OpenSSL installation base." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2737 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2738 #, no-wrap msgid "`OPENSSLDIR`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2739 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2740 msgid "Path to OpenSSL's configuration files." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2740 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2741 #, no-wrap msgid "`OPENSSLLIB`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2742 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2743 msgid "Path to the OpenSSL libraries." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2743 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2744 #, no-wrap msgid "`OPENSSLINC`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2745 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2746 msgid "Path to the OpenSSL includes." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2746 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2747 #, no-wrap msgid "`OPENSSLRPATH`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2748 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2749 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:2752 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2753 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:2757 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2758 #, 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:2762 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2763 #, no-wrap msgid "`tar`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2766 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2767 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:2769 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2770 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:2771 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2772 #, no-wrap msgid "`tcl`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2774 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2775 msgid "Possible arguments: _version_, `wrapper`, `build`, `run`, `tea`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2781 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2782 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:2783 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2784 msgid "`TCL_VER`: chosen major.minor version of Tcl" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2784 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2785 msgid "`TCLSH`: full path of the Tcl interpreter" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2785 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2786 msgid "`TCL_LIBDIR`: path of the Tcl libraries" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2786 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2787 msgid "`TCL_INCLUDEDIR`: path of the Tcl C header files" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2787 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2788 msgid "`TCL_PKG_LIB_PREFIX`: Library prefix, as per TIP595" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2788 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2789 msgid "`TCL_PKG_STUB_POSTFIX`: Stub library postfix" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2789 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2790 msgid "`TK_VER`: chosen major.minor version of Tk" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2790 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2791 msgid "`WISH`: full path of the Tk interpreter" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2791 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2792 msgid "`TK_LIBDIR`: path of the Tk libraries" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2792 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2793 msgid "`TK_INCLUDEDIR`: path of the Tk C header files" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2794 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2795 #, no-wrap msgid "`terminfo`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2800 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2801 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:2802 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2837 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2803 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2838 #, no-wrap msgid "`tex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2808 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2809 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:2810 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2811 msgid "Variables are used to specify which TEX modules are required." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2811 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2812 #, no-wrap msgid "`USE_TEX`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2815 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2816 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:2817 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2818 msgid "Current possible arguments are as follows:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2820 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2821 msgid "`texmf`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2821 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2822 msgid "`source`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2823 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2824 msgid "`web2c`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2824 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2825 msgid "`kpathsea`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2825 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2826 msgid "`ptexenc`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2826 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2827 msgid "`basic`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2827 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2828 msgid "`tlmgr`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2828 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2829 msgid "`texlua`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2829 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2830 msgid "`texluajit`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2830 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2831 msgid "`synctex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2831 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2832 msgid "`xpdfopen`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2832 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2833 msgid "`dvipsk`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2833 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2834 msgid "`dvipdfmx`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2834 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2835 msgid "`xdvik`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2835 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2836 msgid "`gbklatex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2836 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2837 msgid "`formats`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2838 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2839 msgid "`latex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2839 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2840 msgid "`pdftex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2840 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2841 msgid "`jadetex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2841 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2842 msgid "`luatex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2842 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2843 msgid "`ptex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2843 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2844 msgid "`xetex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2844 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2845 msgid "`xmltex`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2845 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2846 msgid "`texhash`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2846 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2847 msgid "`updmap`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2847 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2848 msgid "`fmtutil`" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2849 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2850 #, no-wrap msgid "`tk`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2852 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2853 msgid "Same as arguments for `tcl`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2855 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2856 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:2857 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2858 #, no-wrap msgid "`trigger`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2863 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2864 msgid "" "Provide support for ports requiring triggers to be executed by man:pkg[8]. " "Triggers are executed at the end of a transaction if the conditions are met." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2865 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2866 msgid "The following variable can be set by ports:" msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2866 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2867 #, no-wrap msgid "`TRIGGERS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2868 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2869 msgid "List of triggers to package. Defaults to `${PORTNAME}`." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2871 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2872 msgid "" "Triggers are specified in UCL format and are usually placed in the " "[.filename]#files/# directory of the port." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2873 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2874 #, no-wrap msgid "`uidfix`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2879 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2880 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 crossref:uses[uses-fakeroot,`USES=fakeroot`] or patching." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2881 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2882 #, no-wrap msgid "`uniquefiles`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2884 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2885 msgid "Possible arguments: (none), `dirs`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2888 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2889 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:2890 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2891 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:2891 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2892 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:2892 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2893 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:2893 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2894 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:2895 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2896 #, no-wrap msgid "`vala`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2898 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2899 msgid "Possible arguments: `build`, `lib`, `no_depend`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2901 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2902 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:2903 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2904 #, no-wrap msgid "`varnish`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2906 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2907 msgid "Possible arguments: `4` (default), `6`, `7`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2909 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2910 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:2911 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2912 #, no-wrap msgid "`waf`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2916 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2917 msgid "Provide support for ports using the `waf` build system." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2918 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2919 msgid "It implies `USES=python:build`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2921 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2922 #, no-wrap msgid "`WAF_CMD`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2924 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2925 msgid "" "Location of the `waf` script. Set this if the `waf` script is not in " "[.filename]#WRKSRC/waf#." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2925 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2926 #, no-wrap msgid "`CONFIGURE_TARGET`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2927 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2928 msgid "`Configure` target. Default `configure`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2928 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2929 #, no-wrap msgid "`ALL_TARGET`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2930 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2931 msgid "`All` target. Default `build`." msgstr "" #. type: Labeled list -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2931 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2932 #, no-wrap msgid "`INSTALL_TARGET`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2933 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2934 msgid "`Install` target. Default `install`." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2935 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2936 #, no-wrap msgid "`webplugin`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2938 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2939 msgid "Possible arguments: (none), `ARGS`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2941 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2942 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:2943 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2944 msgid "`gecko`: support plug-ins based on Gecko" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2944 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2945 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:2945 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2946 msgid "`linux`: support Linux plug-ins" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2946 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2947 msgid "`all` (default, implicit): support all plug-in types" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2947 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2948 msgid "(individual entries): support only the browsers listed" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2949 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2950 msgid "These variables can be adjusted:" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2951 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2952 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:2952 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2953 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:2953 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2954 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:2955 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2956 #, no-wrap msgid "`xfce`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2958 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2959 msgid "Possible arguments: (none), `gtk2`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2961 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2962 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:2964 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2965 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:2966 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2967 #, no-wrap msgid "`xorg`" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2973 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2974 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:2975 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2976 #, no-wrap msgid "Available X.Org Components" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2979 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2980 #, no-wrap msgid "Name" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2981 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2982 #, no-wrap msgid "Description" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2982 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2983 #, no-wrap msgid "`dmx`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2984 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2985 #, no-wrap msgid "DMX extension library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2985 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2986 #, no-wrap msgid "`fontenc`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2987 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2988 #, no-wrap msgid "The fontenc Library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2988 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2989 #, no-wrap msgid "`fontutil`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2990 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2991 #, 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:2991 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2992 #, no-wrap msgid "`ice`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2993 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2994 #, no-wrap msgid "Inter Client Exchange library for X11" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2994 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2995 #, no-wrap msgid "`libfs`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2996 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2997 #, no-wrap msgid "The FS library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2997 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2998 #, no-wrap msgid "`pciaccess`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:2999 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3000 #, no-wrap msgid "Generic PCI access library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3002 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3003 #, no-wrap msgid "Low-level pixel manipulation library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3003 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3004 #, no-wrap msgid "`sm`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3005 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3006 #, no-wrap msgid "Session Management library for X11" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3006 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3007 #, no-wrap msgid "`x11`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3008 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3009 #, no-wrap msgid "X11 library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3009 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3010 #, no-wrap msgid "`xau`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3011 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3012 #, no-wrap msgid "Authentication Protocol library for X11" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3012 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3013 #, no-wrap msgid "`xaw`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3014 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3017 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3020 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3015 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3018 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3021 #, no-wrap msgid "X Athena Widgets library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3015 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3016 #, no-wrap msgid "`xaw6`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3018 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3019 #, no-wrap msgid "`xaw7`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3021 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3022 #, no-wrap msgid "`xbitmaps`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3023 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3024 #, no-wrap msgid "X.Org bitmaps data" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3024 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3025 #, no-wrap msgid "`xcb`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3026 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3027 #, no-wrap msgid "The X protocol C-language Binding (XCB) library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3027 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3028 #, no-wrap msgid "`xcomposite`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3029 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3030 #, no-wrap msgid "X Composite extension library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3030 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3031 #, no-wrap msgid "`xcursor`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3032 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3033 #, no-wrap msgid "X client-side cursor loading library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3033 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3034 #, no-wrap msgid "`xdamage`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3035 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3036 #, no-wrap msgid "X Damage extension library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3036 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3037 #, no-wrap msgid "`xdmcp`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3038 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3039 #, no-wrap msgid "X Display Manager Control Protocol library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3039 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3040 #, no-wrap msgid "`xext`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3041 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3042 #, no-wrap msgid "X11 Extension library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3042 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3043 #, no-wrap msgid "`xfixes`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3044 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3045 #, no-wrap msgid "X Fixes extension library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3045 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3046 #, no-wrap msgid "`xfont`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3047 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3050 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3048 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3051 #, no-wrap msgid "X font library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3048 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3049 #, no-wrap msgid "`xfont2`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3051 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3052 #, no-wrap msgid "`xft`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3053 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3054 #, no-wrap msgid "Client-sided font API for X applications" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3054 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3055 #, no-wrap msgid "`xi`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3056 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3057 #, no-wrap msgid "X Input extension library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3057 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3058 #, no-wrap msgid "`xinerama`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3059 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3060 #, no-wrap msgid "X11 Xinerama library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3060 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3061 #, no-wrap msgid "`xkbfile`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3062 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3063 #, no-wrap msgid "XKB file library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3063 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3064 #, no-wrap msgid "`xmu`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3065 -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3068 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3066 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3069 #, no-wrap msgid "X Miscellaneous Utilities libraries" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3066 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3067 #, no-wrap msgid "`xmuu`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3069 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3070 #, no-wrap msgid "`xorg-macros`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3071 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3072 #, no-wrap msgid "X.Org development aclocal macros" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3072 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3073 #, no-wrap msgid "`xorg-server`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3074 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3075 #, no-wrap msgid "X.Org X server and related programs" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3075 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3076 #, no-wrap msgid "`xorgproto`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3077 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3078 #, no-wrap msgid "xorg protocol headers" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3078 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3079 #, no-wrap msgid "`xpm`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3080 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3081 #, no-wrap msgid "X Pixmap library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3081 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3082 #, no-wrap msgid "`xpresent`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3083 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3084 #, no-wrap msgid "X Present Extension library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3084 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3085 #, no-wrap msgid "`xrandr`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3086 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3087 #, no-wrap msgid "X Resize and Rotate extension library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3087 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3088 #, no-wrap msgid "`xrender`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3089 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3090 #, no-wrap msgid "X Render extension library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3090 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3091 #, no-wrap msgid "`xres`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3092 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3093 #, no-wrap msgid "X Resource usage library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3093 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3094 #, no-wrap msgid "`xscrnsaver`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3095 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3096 #, no-wrap msgid "The XScrnSaver library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3096 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3097 #, no-wrap msgid "`xshmfence`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3098 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3099 #, no-wrap msgid "Shared memory 'SyncFence' synchronization primitive" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3099 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3100 #, no-wrap msgid "`xt`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3101 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3102 #, no-wrap msgid "X Toolkit library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3102 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3103 #, no-wrap msgid "`xtrans`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3104 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3105 #, no-wrap msgid "Abstract network code for X" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3105 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3106 #, no-wrap msgid "`xtst`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3107 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3108 #, no-wrap msgid "X Test extension" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3108 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3109 #, no-wrap msgid "`xv`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3110 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3111 #, no-wrap msgid "X Video Extension library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3111 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3112 #, no-wrap msgid "`xvmc`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3113 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3114 #, no-wrap msgid "X Video Extension Motion Compensation library" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3114 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3115 #, no-wrap msgid "`xxf86dga`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3116 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3117 #, no-wrap msgid "X DGA Extension" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3117 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3118 #, no-wrap msgid "`xxf86vm`" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3118 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3119 #, no-wrap msgid "X Vidmode Extension" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3121 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3122 #, no-wrap msgid "`xorg-cat`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3124 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3125 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:3128 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3129 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:3130 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3131 msgid "The category has to match upstream categories." msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3133 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3134 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:3135 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3136 #, no-wrap msgid "`zip`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3138 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3139 msgid "Possible arguments: (none), `infozip`" msgstr "" #. type: Plain text -#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3140 +#: documentation/content/en/books/porters-handbook/uses/_index.adoc:3141 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 df07693554..743c205fdc 100644 --- a/documentation/content/en/books/porters-handbook/versions/_index.po +++ b/documentation/content/en/books/porters-handbook/versions/_index.po @@ -1,33720 +1,33801 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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:13 #, no-wrap msgid "`__FreeBSD_version` Values" msgstr "" #. type: Plain text #: documentation/content/en/books/porters-handbook/versions/_index.adoc:51 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:53 #, no-wrap msgid "FreeBSD 15 Versions" msgstr "" #. type: Block title #: documentation/content/en/books/porters-handbook/versions/_index.adoc:56 #, no-wrap msgid "FreeBSD 15 `__FreeBSD_version` Values" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:60 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:234 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:772 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1790 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2598 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3581 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4271 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4716 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5491 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5959 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6337 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6965 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7323 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7441 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7539 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:254 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:792 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1810 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2618 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3601 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4291 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4736 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5511 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5979 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6357 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6985 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7343 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7461 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7559 #, no-wrap msgid "Value" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:61 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:235 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:773 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1791 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2599 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3582 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4272 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4717 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5492 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5960 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6338 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6966 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7324 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7442 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7540 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:255 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:793 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1811 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2619 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3602 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4292 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4737 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5512 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5980 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6358 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6986 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7344 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7462 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7560 #, no-wrap msgid "Revision" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:62 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:236 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:774 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1792 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2600 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3583 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4273 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4718 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5493 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5961 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6339 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6967 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7325 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7443 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7541 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:256 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:794 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1812 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2620 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3603 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4293 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4738 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5513 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5981 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6359 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6987 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7345 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7463 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7561 #, no-wrap msgid "Date" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:64 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:238 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:776 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1794 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2602 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3585 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4275 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4720 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5495 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5963 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6341 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6969 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7327 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7445 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7543 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:258 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:796 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1814 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2622 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3605 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4295 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4740 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5515 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5983 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6361 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6989 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7347 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7465 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7563 #, no-wrap msgid "Release" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:65 #, no-wrap msgid "1500000" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:66 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:645 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:650 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:665 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:670 #, no-wrap msgid "gitref:29a16ce065dbc28bc9e87c9bfadb08bb58b137e4[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:67 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:646 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:666 #, no-wrap msgid "August 24, 2023" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:69 #, no-wrap msgid "15.0-CURRENT." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:70 #, no-wrap msgid "1500001" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:71 #, no-wrap msgid "gitref:a6662c37b6ffee46e18be5f7570149edc64c1d0b[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:72 #, no-wrap msgid "September 17, 2023" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:74 #, no-wrap msgid "15.0-CURRENT after implementing `fpu_kern_enter` and `fpu_kern_leave` for powerpc." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:75 #, no-wrap msgid "1500002" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:76 #, no-wrap msgid "gitref:17f5e2b904aff8e4863199a137ee21ef0939bcf4[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:77 #, no-wrap msgid "October 18, 2023" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:79 #: documentation/content/en/books/porters-handbook/versions/_index.adoc:119 #, no-wrap msgid "15.0-CURRENT after changing the internal KAPI between the nfscommon and nfscl modules." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:80 #, no-wrap msgid "1500003" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:81 #, no-wrap msgid "gitref:ef85fd507e6e1784a726bccd485129e00bb63311[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:82 #, no-wrap msgid "November 1, 2023" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:84 #, no-wrap msgid "15.0-CURRENT after removal of the forward compat code for the inode64 conversion." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:85 #, no-wrap msgid "1500004" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:86 #, no-wrap msgid "gitref:7fabea328fed60d5207b262d2372e85a7f731eef[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:87 #, no-wrap msgid "November 23, 2023" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:89 #, no-wrap msgid "15.0-CURRENT after adding a new VFS function called `vfs_exjail_clone()`, which will be used by the ZFS module." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:90 #, no-wrap msgid "1500005" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:91 #, no-wrap msgid "gitref:21fce617d1de231a30833cdd9819ef61277b08d8[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:92 #, no-wrap msgid "November 27, 2023" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:94 #, no-wrap msgid "15.0-CURRENT after a string of mechanical changes to the tree: SCCS IDs removed, #if 0'd copyright strings removed, mechanical style fix after this churn and some macros removed from [.filename]#sys/cdefs.h#." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:95 #, no-wrap msgid "1500006" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:96 #, no-wrap msgid "gitref:c711af7727824da79d87f375f3d6829feec3799a[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:97 #, no-wrap msgid "December 8, 2023" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:99 #, no-wrap msgid "15.0-CURRENT after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-17.0.6-0-g6009708b4367, a.k.a. 17.0.6 release." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:100 #, no-wrap msgid "1500007" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:101 #, no-wrap msgid "gitref:8ccd0b876e67fda6249f294ff484798cc1e1569f[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:102 #, no-wrap msgid "December 11, 2023" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:104 #, no-wrap msgid "15.0-CURRENT after exposing execvpe for Linux compat in libc." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:105 #, no-wrap msgid "1500008" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:106 #, no-wrap msgid "gitref:9bf957fc9b378e0f9e65eb97e84c2166b450fccc[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:107 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:661 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:681 #, no-wrap msgid "December 24, 2023" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:109 #: documentation/content/en/books/porters-handbook/versions/_index.adoc:174 #, no-wrap msgid "15.0-CURRENT after LinuxKPI changes." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:110 #, no-wrap msgid "1500009" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:111 #, no-wrap msgid "gitref:b068bb09a1a82d9fef0e939ad6135443a959e290[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:112 #, no-wrap msgid "January 11, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:114 #, no-wrap msgid "15.0-CURRENT after adding man:vnode_pager_clean_async[9] and man:vnode_pager_clean_sync[9]." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:115 #, no-wrap msgid "1500010" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:116 #: documentation/content/en/books/porters-handbook/versions/_index.adoc:121 #, no-wrap msgid "gitref:a2da1bdb61bc2d9db0b4268f53281e7c0bbce0bc[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:117 #, no-wrap msgid "January 12, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:120 #, no-wrap msgid "1500011" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:122 #, no-wrap msgid "January 17, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:124 #, no-wrap msgid "15.0-CURRENT after adding zfs.dataset support to man:jail[8]." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:125 #, no-wrap msgid "1500012" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:126 #, no-wrap msgid "gitref:120ceebab5d4947dfc80d7492effa034a925d43e[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:127 #, no-wrap msgid "January 24, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:129 #, no-wrap msgid "15.0-CURRENT after adding man:kern_openatfp[9] and man:kcmp[2]." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:130 #, no-wrap msgid "1500013" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:131 #, no-wrap msgid "gitref:d04abb05375d3525132f1e9f78090db3d0d27f14[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:132 #, no-wrap msgid "February 7, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:134 #, no-wrap msgid "15.0-CURRENT after adding libsys." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:135 #, no-wrap msgid "1500014" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:136 #, no-wrap msgid "gitref:ed27ae8df4b10f67289a32458d89d143e758f6d4[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:137 #, no-wrap msgid "February 11, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:139 #, no-wrap msgid "15.0-CURRENT after switching clang and other LLVM executables to build as PIE." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:140 #, no-wrap msgid "1500015" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:141 #, no-wrap msgid "gitref:a7b9f4d96e8bdc30db27ec7a193a8d8fdf7c652c[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:142 #, no-wrap msgid "March 13, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:144 #, no-wrap msgid "15.0-CURRENT after removing redundant `type` and `rid` arguments from several functions in the new-bus resource API." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:145 #, no-wrap msgid "1500016" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:146 #, no-wrap msgid "gitref:60bc9617e79e99bdf670304923f3baed4b749ad3[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:147 #, no-wrap msgid "March 18, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:149 #, no-wrap msgid "15.0-CURRENT after introducing man:livedump_start_vnode[9]." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:150 #, no-wrap msgid "1500017" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:151 #, no-wrap msgid "gitref:bcd401b5a39c6186bb1fe450286299f2a481244c[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:152 #, no-wrap msgid "March 20, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:154 #, no-wrap msgid "15.0-CURRENT after fixing a clang assertion or crash when building recent boost libraries." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:155 #, no-wrap msgid "1500018" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:156 #, no-wrap msgid "gitref:0192eda105b367d4670205547e8e830e3716bea3[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:157 #, no-wrap msgid "April 6, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:159 #, no-wrap msgid "15.0-CURRENT after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-18.1.3-0-gc13b7485b879, a.k.a. 18.1.3 release." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:160 #, no-wrap msgid "1500019" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:161 #, no-wrap msgid "gitref:e03e8b07743385e5b199409074fb60b1a9ed1fac[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:162 #, no-wrap msgid "May 31, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:164 #, no-wrap msgid "15.0-CURRENT after redefining `CLOCK_BOOTTIME` to alias `CLOCK_MONOTONIC` instead of `CLOCK_UPTIME`." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:165 #, no-wrap msgid "1500020" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:166 #, no-wrap msgid "gitref:7818c2d37c2c600fc9ad6f2a0951e50dd21b17c8[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:167 #, no-wrap msgid "July 12, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:169 #, no-wrap msgid "15.0-CURRENT after removing support for building armv6." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:170 #, no-wrap msgid "1500021" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:171 #, no-wrap msgid "gitref:24388fccd551f79f64e54099a7d78196535c0a29[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:172 #, no-wrap msgid "July 21, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:175 #, no-wrap msgid "1500022" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:176 #, no-wrap msgid "gitref:a1740cb93639648b41055958ad8c7f6083efdc96[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:177 #, no-wrap msgid "July 29, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:179 #, no-wrap msgid "15.0-CURRENT after removing kernel stack swapping support." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:180 #, no-wrap msgid "1500023" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:181 #, no-wrap msgid "gitref:1206cf04a717a55bc15255ed043b066941cb43f2[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:182 #, no-wrap msgid "July 30, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:184 #, no-wrap msgid "15.0-CURRENT after adding new flags to man:malloc[9]." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:185 #, no-wrap msgid "1500024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:186 #, no-wrap msgid "gitref:e3953c036f9d66c85b8e19f99f0710b3288ce5fb[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:187 #, no-wrap msgid "October 2, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:189 #, no-wrap msgid "15.0-CURRENT after bumping [.filename]#libmd.so.6# to [.filename]#libmd.so.7#." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:190 #, no-wrap msgid "1500025" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:191 #, no-wrap msgid "gitref:9d52823bf1dfac237e58b5208299aaa5e2df42e9[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:192 #, no-wrap msgid "October 6, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:194 #, no-wrap msgid "15.0-CURRENT after widening the `flags` field in `vm_object`." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:195 #, no-wrap msgid "1500026" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:196 #, no-wrap msgid "gitref:f3dbef108212460489ae68b4c47e20b73984f433[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:197 #, no-wrap msgid "October 23, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:199 #, no-wrap msgid "15.0-CURRENT after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-19.1.2-0-g7ba7d8e2f7b6, a.k.a. 19.1.2 release." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:200 #, no-wrap msgid "1500027" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:201 #, no-wrap msgid "gitref:893d044346d5ae5fe10cc188b8b0762efd2a5b27[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:202 #, no-wrap msgid "November 14, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:204 #, no-wrap msgid "15.0-CURRENT after hiding `struct ifnet` and changing man:sound[4]'s device registration KPI." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:205 #, no-wrap msgid "1500028" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:206 #, no-wrap msgid "gitref:cab31f5633c1ffdd8b24749a3c9dd22c59568503[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:207 #, no-wrap msgid "November 25, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:209 #, no-wrap msgid "15.0-CURRENT after adding a `TDA_PSELECT` flag for early restoration of signal masks." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:210 #, no-wrap msgid "1500029" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:211 #, no-wrap msgid "gitref:46297859a74563dde6fc5bff9f9ecded9fb61ba6[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:212 #, no-wrap msgid "December 6, 2024" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:214 #, no-wrap msgid "15.0-CURRENT after adding `bus_attach_children`, `bus_detach_children`, and `bus_identify_children`." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:215 #, no-wrap msgid "1500030" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:216 #, no-wrap msgid "gitref:b196276c20b577b364372f1aa1a646b9ce34bf5c[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:217 #, no-wrap msgid "January 2, 2025" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:219 #, no-wrap msgid "15.0-CURRENT after changing `bus_generic_detach` to delete child devices after detaching them." msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:220 #, no-wrap msgid "1500037" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:221 #, no-wrap msgid "gitref:7acd5af48cf1870ec48d5910dff1a26466d98074[repository=\"src\",length=12]" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:222 #, no-wrap msgid "April 12, 2025" msgstr "" #. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:224 #, no-wrap msgid "15.0-CURRENT after changing alloc changes to LinuxKPI." msgstr "" -#. type: Title == +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:225 +#, no-wrap +msgid "1500038" +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:226 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:231 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:236 +#, no-wrap +msgid "gitref:[repository=\"src\",length=12]" +msgstr "" + +#. type: Table #: documentation/content/en/books/porters-handbook/versions/_index.adoc:227 #, no-wrap +msgid "April 19, 2025" +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:229 +#, no-wrap +msgid "15.0-CURRENT after removal of vm_page_next() and _prev." +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:230 +#, no-wrap +msgid "1500039" +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:232 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:237 +#, no-wrap +msgid "May 4, 2025" +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:234 +#, no-wrap +msgid "15.0-CURRENT after introducing a properly typed jiffies." +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:235 +#, no-wrap +msgid "1500040" +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:239 +#, no-wrap +msgid "15.0-CURRENT after the internal API between the nfscommon and nfscl modules changed." +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:240 +#, no-wrap +msgid "1500045" +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:241 +#, no-wrap +msgid "gitref:a02180cf60a6a0102669b678e9c81ad9f1aa4d91[repository=\"src\",length=12]" +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:242 +#, no-wrap +msgid "June 3, 2025" +msgstr "" + +#. type: Table +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:244 +#, no-wrap +msgid "15.0-CURRENT after pulling in dma-mapping.h changes from drm-kmod to LinuxKPI." +msgstr "" + +#. type: Title == +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:247 +#, no-wrap msgid "FreeBSD 14 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:230 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:250 #, no-wrap msgid "FreeBSD 14 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:239 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:259 #, no-wrap msgid "1400000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:240 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:260 #, no-wrap msgid "gitref:a53ce3fc4938e37d5ec89304846203d2083c61a2[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:261 #, no-wrap msgid "January 22, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:243 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:263 #, no-wrap msgid "14.0-CURRENT." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:244 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:264 #, no-wrap msgid "1400001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:245 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:265 #, no-wrap msgid "gitref:739ecbcf1c4fd22b5f6ee0bb180a67644046a3e0[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:266 #, no-wrap msgid "January 23, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:248 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:268 #, 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:249 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:269 #, no-wrap msgid "1400002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:250 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:270 #, no-wrap msgid "gitref:2cf84258922f306a3f84866685d2f5346f67db58[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:271 #, no-wrap msgid "January 26, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:253 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:273 #, 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:254 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:274 #, no-wrap msgid "1400003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:255 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:275 #, no-wrap msgid "gitref:d386f3a3c32f0396aa7995349dd65d6c59711393[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:276 #, no-wrap msgid "January 28, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:258 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:278 #, 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:259 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:279 #, no-wrap msgid "1400004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:260 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:280 #, no-wrap msgid "gitref:68f6800ce05c386ff045b4416d8595d09c4d8fdd[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:281 #, no-wrap msgid "February 8, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:263 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:283 #, 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:264 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:284 #, no-wrap msgid "1400005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:265 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:285 #, no-wrap msgid "gitref:45eabf5754ac1d291bd677fdf29f59ce4bbc2c8f[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:286 #, no-wrap msgid "February 17, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:268 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:288 #, 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:269 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:289 #, no-wrap msgid "1400006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:270 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:290 #, no-wrap msgid "gitref:c96151d33509655efb7fb26768cb56a041c176f1[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:291 #, no-wrap msgid "March 17, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:273 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:293 #, 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:274 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:294 #, no-wrap msgid "1400007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:275 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:295 #, no-wrap msgid "gitref:d36d6816151705907393889d661cbfd25c630ca8[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:296 #, no-wrap msgid "April 6, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:278 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:298 #, no-wrap msgid "14.0-CURRENT after fixing wrong `dlpi_tls_data`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:279 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:299 #, no-wrap msgid "1400008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:280 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:300 #, no-wrap msgid "gitref:e152bbecb221a592e7dbcabe3d1170a60f0d0dfe[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:301 #, no-wrap msgid "April 11, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:283 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:303 #, 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:284 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:304 #, no-wrap msgid "1400009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:285 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:305 #, no-wrap msgid "gitref:9ca874cf740ee68c5742df8b5f9e20910085c011[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:306 #, no-wrap msgid "April 20, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:288 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:308 #, 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:289 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:309 #, no-wrap msgid "1400010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:290 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:310 #, no-wrap msgid "gitref:a3a02acde1009f03dc78e979e051acee9f9247c2[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:311 #, no-wrap msgid "April 21, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:293 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:313 #, 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:294 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:314 #, no-wrap msgid "1400015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:295 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:315 #, no-wrap msgid "gitref:d72cd275187c6399caf0ca4125292dc7e55fa478[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:306 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:316 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:321 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:326 #, no-wrap msgid "May 25, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:298 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:318 #, 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:299 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:319 #, no-wrap msgid "1400016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:300 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:320 #, no-wrap msgid "gitref:21e3c1fbe2460f144f6d4dfd61c3346b2de59667[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:323 #, 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:304 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:324 #, no-wrap msgid "1400017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:305 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:325 #, no-wrap msgid "gitref:beb817edfe22cdea91e19a60c42caabd9404da48[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:308 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:328 #, no-wrap msgid "14.0-CURRENT after adding `crypto_cursor_segment()`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:309 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:329 #, no-wrap msgid "1400018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:310 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:330 #, no-wrap msgid "gitref:a4b07a2701f568c2c0f0c0426091f1489244a92d[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:331 #, no-wrap msgid "May 30, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:313 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:333 #, 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:314 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:334 #, no-wrap msgid "1400019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:315 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:335 #, no-wrap msgid "gitref:37d64dcdfa519157aff9711f1f226ad7bd778f46[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:336 #, no-wrap msgid "June 7, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:318 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:338 #, 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:319 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:339 #, no-wrap msgid "1400020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:320 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:340 #, no-wrap msgid "gitref:8a1a42b2a7a428fb97fda9f19fd0d67a4eec7535[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:341 #, no-wrap msgid "June 9, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:323 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:343 #, 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:324 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:344 #, no-wrap msgid "1400021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:325 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:345 #, no-wrap msgid "gitref:b47f461c8e67253fdb394968428b760e880baa08[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:346 #, no-wrap msgid "June 10, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:328 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:348 #, 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:329 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:349 #, no-wrap msgid "1400022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:330 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:350 #, no-wrap msgid "gitref:40cc9a3a6b81a65a03712dfd93bbed48552a97ad[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:1539 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:351 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1559 #, no-wrap msgid "June 11, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:333 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:353 #, 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:334 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:354 #, no-wrap msgid "1400023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:335 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:355 #, no-wrap msgid "gitref:d409305fa3838fb39b38c26fc085fb729b8766d5[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:356 #, no-wrap msgid "June 13, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:338 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:358 #, 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:339 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:359 #, no-wrap msgid "1400024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:340 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:360 #, no-wrap msgid "gitref:41dfd8bd6466fd39957dee2614d88c81cdf420a7[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:361 #, no-wrap msgid "June 18, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:343 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:348 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:363 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:368 #, no-wrap msgid "14.0-CURRENT after various additions to LinuxKPI." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:344 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:364 #, no-wrap msgid "1400025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:345 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:365 #, no-wrap msgid "gitref:5fa1eb1cd927219070b5753b64114a9240d76bf8[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:366 #, no-wrap msgid "July 5, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:349 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:369 #, no-wrap msgid "1400026" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:350 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:370 #, no-wrap msgid "gitref:fad3f322efb53d4924fdda34f9f23f881659c269[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:371 #, no-wrap msgid "July 16, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:353 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:373 #, 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:354 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:374 #, no-wrap msgid "1400027" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:355 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:375 #, no-wrap msgid "gitref:cc55ee8009a550810d38777fd6ace9abf3a2f6b4[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:376 #, no-wrap msgid "July 28, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:358 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:378 #, 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:359 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:379 #, no-wrap msgid "1400028" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:360 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:380 #, no-wrap msgid "gitref:792b602a337ddc5efaa5e5326d9433fe3da7f303[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:1564 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:381 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1584 #, no-wrap msgid "July 31, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:363 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:383 #, 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:364 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:384 #, no-wrap msgid "1400029" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:365 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:385 #, no-wrap msgid "gitref:245ec7651e4221043d1032fb3f82f335dc65fc7f[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:386 #, no-wrap msgid "August 5, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:368 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:388 #, 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:369 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:389 #, no-wrap msgid "1400030" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:370 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:390 #, no-wrap msgid "gitref:95941b963606f6e03282cd6f866f3166dcedfa5b[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:391 #, no-wrap msgid "August 12, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:373 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:393 #, 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:374 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:394 #, no-wrap msgid "1400031" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:375 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:395 #, no-wrap msgid "gitref:1a4c5061fc5ba8f2eee41456a6873547915f268a[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:396 #, no-wrap msgid "August 24, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:378 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:398 #, 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:379 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:399 #, no-wrap msgid "1400032" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:380 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:400 #, no-wrap msgid "gitref:76321d2d432ed270d93b282e54e59b708c0cf3b4[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:401 #, no-wrap msgid "August 25, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:383 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:403 #, 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:384 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:404 #, no-wrap msgid "1400033" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:385 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:390 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:405 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:410 #, no-wrap msgid "gitref:c751d067c166db71ce8bf3a323c62ac3428bd32a[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:386 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:406 #, no-wrap msgid "September 7, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:388 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:408 #, 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:389 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:409 #, no-wrap msgid "1400034" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:391 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:411 #, no-wrap msgid "September 29, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:393 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:413 #, no-wrap msgid "14.0-CURRENT after LinuxKPI changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:394 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:414 #, no-wrap msgid "1400035" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:395 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:415 #, no-wrap msgid "gitref:16f1ee11e6574d7f8d8a9dc6ebc9be3036ff9fd0[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:396 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:416 #, no-wrap msgid "October 4, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:398 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:418 #, no-wrap msgid "14.0-CURRENT after splitting libtinfow from libncurses." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:399 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:419 #, no-wrap msgid "1400036" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:400 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:420 #, no-wrap msgid "gitref:ac847dbf73685a5df9f70bbcdefa9fdeb559071d[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:421 #, no-wrap msgid "October 6, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:403 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:423 #, 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:404 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:424 #, no-wrap msgid "1400037" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:405 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:425 #, no-wrap msgid "gitref:2b68eb8e1dbbdaf6a0df1c83b26f5403ca52d4c3[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:426 #, no-wrap msgid "October 11, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:408 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:428 #, 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:409 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:429 #, no-wrap msgid "1400038" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:410 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:430 #, no-wrap msgid "gitref:0d6516b453469ce1d92ec903c4c4df9ee08be0f9[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:431 #, no-wrap msgid "October 17, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:413 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:433 #, 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:414 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:434 #, no-wrap msgid "1400039" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:415 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:435 #, no-wrap msgid "gitref:bd49c454ca62170506a98959c1acab7ad50c3276[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:436 #, no-wrap msgid "October 19, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:418 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:438 #, no-wrap msgid "14.0-CURRENT after page allocator changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:419 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:439 #, no-wrap msgid "1400040" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:420 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:440 #, no-wrap msgid "gitref:f38bef2ce417d6270f32b4ed17cec84bfd95d548[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:421 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:441 #, no-wrap msgid "October 30, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:423 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:443 #, 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:424 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:444 #, no-wrap msgid "1400041" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:425 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:445 #, no-wrap msgid "gitref:0c276dee030b241e12e1ceb1b2ab619004f08ce1[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:426 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:446 #, no-wrap msgid "November 6, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:428 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:448 #, 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:429 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:449 #, no-wrap msgid "1400042" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:430 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:450 #, no-wrap msgid "gitref:20aa359773befc8182f6b5dcb5aad7390cab6c26[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:431 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:451 #, no-wrap msgid "November 13, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:433 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:453 #, 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:434 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:454 #, no-wrap msgid "1400043" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:435 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:455 #, no-wrap msgid "gitref:7e1d3eefd410ca0fbae5a217422821244c3eeee4[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:436 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:456 #, no-wrap msgid "November 25, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:438 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:458 #, 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:439 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:459 #, no-wrap msgid "1400044" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:440 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:460 #, no-wrap msgid "gitref:ec434c85b46dd715da1940e2a8911bf476b0e477[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:441 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:461 #, no-wrap msgid "December 9, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:443 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:463 #, 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:444 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:464 #, no-wrap msgid "1400045" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:445 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:465 #, no-wrap msgid "gitref:b214fcceacad6b842545150664bd2695c1c2b34f[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:446 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:466 #, no-wrap msgid "December 15, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:448 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:468 #, 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:449 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:469 #, no-wrap msgid "1400046" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:450 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:470 #, no-wrap msgid "gitref:e2650af157bc7489deaf2c9054995f0f88a6e5da[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:451 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:471 #, no-wrap msgid "December 30, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:453 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:473 #, 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:454 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:474 #, no-wrap msgid "1400047" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:455 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:475 #, no-wrap msgid "gitref:ed6417cd8d0bb5a2c175fce9d8e4a495fae9e9f4[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:456 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:476 #, no-wrap msgid "January 17, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:458 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:538 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:548 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:553 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:478 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:558 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:568 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:573 #, 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:459 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:479 #, no-wrap msgid "1400048" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:460 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:480 #, no-wrap msgid "gitref:dd2f7a4b45eb1285e710cfce60cb77f7c11f8075[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:461 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:481 #, no-wrap msgid "January 18, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:463 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:483 #, no-wrap msgid "14.0-CURRENT after adding ." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:464 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:484 #, no-wrap msgid "1400049" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:465 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:485 #, no-wrap msgid "gitref:2c4b65cc3d227f31864e183c15f6c42e2c596cd9[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:466 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:486 #, no-wrap msgid "January 24, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:468 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:488 #, no-wrap msgid "14.0-CURRENT after adding ." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:469 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:489 #, no-wrap msgid "1400050" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:470 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:490 #, no-wrap msgid "gitref:213e91399b7998554d787bb290109ebe602aa279[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:471 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:476 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:491 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:496 #, no-wrap msgid "January 25, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:473 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:493 #, 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:474 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:494 #, no-wrap msgid "1400051" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:475 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:495 #, no-wrap msgid "gitref:59d465e200bb7058dfdb183c061730c10dd5bc03[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:478 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:498 #, no-wrap msgid "14.0-CURRENT after adding i2c support for LinuxKPI." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:479 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:499 #, no-wrap msgid "1400052" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:480 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:500 #, no-wrap msgid "gitref:05f0b24bfb3416606c8ea02bc1bdb9bcee7aee0c[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:481 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:501 #, no-wrap msgid "February 14, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:483 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:503 #, 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:484 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:504 #, no-wrap msgid "1400053" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:485 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:505 #, no-wrap msgid "gitref:ba87e9bf74202b08b8e3b0a297b9b88f6869fbfb[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:486 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:506 #, no-wrap msgid "February 17, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:488 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:508 #, 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:489 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:509 #, no-wrap msgid "1400054" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:490 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:510 #, no-wrap msgid "gitref:50bb3a33d879536e86e8a23365f070ef00b5cb32[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:491 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:511 #, no-wrap msgid "March 28, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:493 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:513 #, 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:494 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:514 #, no-wrap msgid "1400055" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:495 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:515 #, no-wrap msgid "gitref:d69af4758be912625ec08656ba64eb90a98c9a7f[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:496 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:516 #, no-wrap msgid "March 29, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:498 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:518 #, 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:499 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:519 #, no-wrap msgid "1400056" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:500 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:520 #, no-wrap msgid "gitref:ab8ac4c28574a42a2891b2e2341f802949c1fb57[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:501 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:521 #, no-wrap msgid "March 31, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:503 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:523 #, 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:504 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:524 #, no-wrap msgid "1400057" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:505 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:525 #, no-wrap msgid "gitref:e68b35e40881a1bd858e1b4b5003123a484fd7cd[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:506 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:526 #, no-wrap msgid "April 22, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:508 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:528 #, 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:509 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:529 #, no-wrap msgid "1400058" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:510 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:530 #, no-wrap msgid "gitref:2e32d4e41d205d6f14834f87306a77ff77b9c0bd[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:511 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:531 #, no-wrap msgid "May 7, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:513 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:533 #, 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:514 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:534 #, no-wrap msgid "1400059" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:515 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:535 #, no-wrap msgid "gitref:3a9a9c0ca44ec535dcf73fe8462bee458e54814b[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:516 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:536 #, no-wrap msgid "May 14, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:518 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:538 #, 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:519 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:539 #, no-wrap msgid "1400060" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:520 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:540 #, no-wrap msgid "gitref:85d7875d42913c2cb10a007a1be05b210dc6aab2[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:521 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:541 #, no-wrap msgid "June 6, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:523 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:543 #, no-wrap msgid "14.0-CURRENT after LinuxKPI dmi_matches() fixes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:524 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:544 #, no-wrap msgid "1400061" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:525 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:545 #, no-wrap msgid "gitref:c4c5981c14d5bd69e9df9ae691069ec4c2e92174[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:526 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:546 #, no-wrap msgid "June 8, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:528 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:548 #, no-wrap msgid "14.0-CURRENT after man:mbuf[9] structure changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:529 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:549 #, no-wrap msgid "1400062" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:530 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:550 #, no-wrap msgid "gitref:8c309d48aabf1cb469334c7716033f177a2715c0[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:531 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:551 #, no-wrap msgid "June 18, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:533 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:553 #, no-wrap msgid "14.0-CURRENT after struct `kinfo_file` changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:534 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:554 #, no-wrap msgid "1400063" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:535 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:555 #, no-wrap msgid "gitref:8cff8e6e13a6d3ccff40fc0d8d97f5aef22a8f4d[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:536 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:556 #, no-wrap msgid "June 29, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:539 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:559 #, no-wrap msgid "1400064" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:540 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:560 #, no-wrap msgid "gitref:ddd9004e7a5dbf02c34ef0effcef90f7d5df357d[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:541 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:561 #, no-wrap msgid "July 18, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:543 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:563 #, no-wrap msgid "14.0-CURRENT after the removal of OBJT_DEFAULT." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:544 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:564 #, no-wrap msgid "1400065" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:545 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:565 #, no-wrap msgid "gitref:b273f93657cf0e6f2c6ee4d0f40a43656233c6d0[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:546 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:566 #, no-wrap msgid "August 8, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:549 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:569 #, no-wrap msgid "1400066" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:550 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:570 #, no-wrap msgid "gitref:ff7812ee7d444b738a454064f9639c3feb5743e8[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:551 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:571 #, no-wrap msgid "August 18, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:554 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:574 #, no-wrap msgid "1400069" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:555 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:575 #, no-wrap msgid "gitref:f95c0bc89ea4fcde04b0990d57e842ef387ea896[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:556 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:561 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:571 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:576 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:581 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:591 #, no-wrap msgid "September 22, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:558 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:603 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:578 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:623 #, no-wrap msgid "14.0-CURRENT after multiple LinuxKPI changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:559 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:579 #, no-wrap msgid "1400070" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:560 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:580 #, no-wrap msgid "gitref:6bddde307e21eba297ac3f3e534b4cf3be81dfe2[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:563 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:583 #, 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:564 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:584 #, no-wrap msgid "1400071" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:565 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:585 #, no-wrap msgid "gitref:d3f96f661050e9bd21fe29931992a8b9e67ff189[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:566 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:586 #, no-wrap msgid "September 26, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:568 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:588 #, 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:569 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:589 #, no-wrap msgid "1400072" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:570 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:590 #, no-wrap msgid "gitref:8a96874eeeee5195b0b0952b77227bef6a26d1a6[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:573 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:593 #, 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:574 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:594 #, no-wrap msgid "1400073" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:575 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:595 #, no-wrap msgid "gitref:9c950139051298831ce19d01ea5fb33ec6ea7f89[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:576 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1669 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:596 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1689 #, no-wrap msgid "October 17, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:578 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:598 #, 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:579 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:599 #, no-wrap msgid "1400074" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:580 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:600 #, no-wrap msgid "gitref:e28932c643e891294a49f386ba65322cf8410225[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:581 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:601 #, no-wrap msgid "December 9, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:583 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:603 #, 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:584 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:604 #, no-wrap msgid "1400078" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:585 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:605 #, no-wrap msgid "gitref:4b56afaf7bf4fa37bae5b26fd93ee1ff5969c1bb[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:586 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:606 #, no-wrap msgid "January 13, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:588 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:608 #, no-wrap msgid "14.0-CURRENT after changing LinuxKPI pci.h." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:589 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:609 #, no-wrap msgid "1400079" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:590 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:610 #, no-wrap msgid "gitref:3264f6b88fce7c5437d205685863617d8f6a22dd[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:591 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:611 #, no-wrap msgid "February 8, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:593 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:613 #, 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:594 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:614 #, no-wrap msgid "1400084" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:595 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:615 #, no-wrap msgid "gitref:ea3061526e9ce5d3b65932c1d3e4437abd556d65[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:596 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:616 #, no-wrap msgid "March 23, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:598 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:618 #, 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:599 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:619 #, no-wrap msgid "1400085" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:600 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:620 #, no-wrap msgid "gitref:1cebc9298cf2272da46c3c574d06a80ce59854aa[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:601 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:621 #, no-wrap msgid "March 28, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:604 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:624 #, no-wrap msgid "1400086" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:605 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:625 #, no-wrap msgid "gitref:c17eb99a66e7d1e8a64458a969eeb7649f827493[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:606 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:626 #, no-wrap msgid "April 8, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:608 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:628 #, no-wrap msgid "14.0-CURRENT after vn_lock_pair() argument changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:609 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:629 #, no-wrap msgid "1400087" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:610 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:630 #, no-wrap msgid "gitref:af22da75a035e25cb47cd3f2eabe5a84d8a5cb34[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:611 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:631 #, no-wrap msgid "April 22, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:613 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:633 #, no-wrap msgid "14.0-CURRENT after LinuxKPI updates." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:614 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:634 #, no-wrap msgid "1400088" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:615 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:635 #, no-wrap msgid "gitref:97583aa2567589cb83540d2d9de1980b76db9a99[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:616 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:636 #, no-wrap msgid "April 24, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:618 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:638 #, no-wrap msgid "14.0-CURRENT after migrating the LinuxKPI to IfAPI." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:619 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:639 #, no-wrap msgid "1400089" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:620 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:640 #, no-wrap msgid "gitref:9fb6718d1b180c341373b25c03dbfc221ddee311[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:621 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:641 #, no-wrap msgid "April 25, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:623 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:643 #, no-wrap msgid "14.0-CURRENT after dynamically allocating the stoppcbs array in smp." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:624 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:644 #, no-wrap msgid "1400090" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:625 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:645 #, no-wrap msgid "gitref:653738e895ba022be1179a95a85089e7bc66dbbe[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:626 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:646 #, no-wrap msgid "June 7, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:628 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:648 #, no-wrap 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:629 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:649 #, no-wrap msgid "1400091" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:630 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:650 #, no-wrap msgid "gitref:a681cba16d8967651a2146385ce44a2bfeb1c4c3[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:631 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:651 #, no-wrap msgid "June 22, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:633 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:653 #, 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." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:634 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:654 #, no-wrap msgid "1400092" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:635 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:655 #, no-wrap msgid "gitref:9ead001d5b42ef9cba04757c9e7ee74c06037139[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:636 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:656 #, no-wrap msgid "June 24, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:638 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:658 #, no-wrap msgid "14.0-CURRENT after importing OpenSSL 3.0.9 into base." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:639 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:659 #, no-wrap msgid "1400093" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:640 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:660 #, no-wrap msgid "gitref:ba8cc6d7271a50fec978a1d3a088aec7985fae48[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:641 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:661 #, no-wrap msgid "July 5, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:643 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:663 #, no-wrap 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:644 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:664 #, no-wrap msgid "1400097" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:648 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:668 #, no-wrap msgid "14.0-STABLE after branching stable/14" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:649 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:669 #, no-wrap msgid "1400500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:651 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:671 #, no-wrap msgid "September 8, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:653 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:673 #, no-wrap msgid "14.0-STABLE after branching releng/14.0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:654 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:674 #, no-wrap msgid "1400501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:655 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:675 #, no-wrap msgid "gitref:91e53779b4fc39e755a03190f785ce0cf3f83eb7[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:656 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:676 #, no-wrap msgid "November 19, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:658 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:678 #, no-wrap msgid "14.0-STABLE after implementing `fpu_kern_enter` and `fpu_kern_leave` for powerpc." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:659 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:679 #, no-wrap msgid "1400502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:660 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:680 #, no-wrap msgid "gitref:092abb839d1d2826533bb9c4c93d713f8b5043f9[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:663 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:683 #, no-wrap msgid "14.0-STABLE after modifying the internal API between the kgssapi and krpc modules." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:664 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:684 #, no-wrap msgid "1400503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:665 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:685 #, no-wrap msgid "gitref:ba99d960884d50eb7d36146914206644ee132aa4[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:666 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:686 #, no-wrap msgid "December 29, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:668 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:683 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:688 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:703 #, no-wrap msgid "14.0-STABLE after changing the internal KAPI between the nfscommon and nfscl modules." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:669 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:689 #, no-wrap msgid "1400504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:670 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:690 #, no-wrap msgid "gitref:68584c97ecfb3046de7fb1b16c2caa785392237c[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:671 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:676 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1739 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:691 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:696 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1759 #, no-wrap msgid "January 7, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:673 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:693 #, no-wrap msgid "14.0-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-17.0.6-0-g6009708b4367, a.k.a. 17.0.6 release." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:674 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:694 #, no-wrap msgid "1400505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:675 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:695 #, no-wrap msgid "gitref:64e869e9b93c8ce47f874b770df696c06bcba0d3[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:678 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:698 #, no-wrap msgid "14.0-STABLE after adding man:vnode_pager_clean_async[9] and man:vnode_pager_clean_sync[9]." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:679 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:699 #, no-wrap msgid "1400506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:680 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:700 #, no-wrap msgid "gitref:d9041710958227194c5e34b169ae73d7ad411017[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:681 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:701 #, no-wrap msgid "January 19, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:684 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:704 #, no-wrap msgid "1400507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:685 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:705 #, no-wrap msgid "gitref:b566e44b2b88eb9f1b3b658998c7418cccab9e2f[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:686 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:706 #, no-wrap msgid "January 31, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:688 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:708 #, no-wrap msgid "14.0-STABLE after adding man:kern_openatfp[9] and man:kcmp[2]." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:689 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:709 #, no-wrap msgid "1400508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:690 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:710 #, no-wrap msgid "gitref:2d120981e26dfef5c9cb9eb9936bb46cb6918136[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:691 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:696 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:711 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:716 #, no-wrap msgid "February 18, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:693 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:713 #, no-wrap msgid "14.0-STABLE after LinuxKPI updates." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:694 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:714 #, no-wrap msgid "1400509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:695 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:715 #, no-wrap msgid "gitref:b392b36d3776b696601ce0253256803276d24ea2[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:698 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:718 #, no-wrap msgid "14.0-STABLE after changing net80211 `struct ieee80211vap` internals." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:699 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:719 #, no-wrap msgid "1400510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:700 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:720 #, no-wrap msgid "gitref:69da6e0879831f1ccc5c60135ed43fcea10a933b[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:701 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1754 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:721 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1774 #, no-wrap msgid "March 23, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:703 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:723 #, no-wrap msgid "14.0-STABLE after fixing a clang assertion or crash when building recent boost libraries." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:704 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:724 #, no-wrap msgid "1400511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:705 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:725 #, no-wrap msgid "gitref:7c41358a2b0a2e70a2b61ec347354f3452e4d2f3[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:706 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1759 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:726 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1779 #, no-wrap msgid "April 20, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:708 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:728 #, no-wrap msgid "14.0-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-18.1.3-0-gc13b7485b879, a.k.a. 18.1.3 release." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:709 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:729 #, no-wrap msgid "1401500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:710 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:730 #, no-wrap msgid "gitref:7b082bdf72e65f94b9b17d9fa1d0c1c202e4eb49[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:711 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:731 #, no-wrap msgid "May 2, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:713 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:733 #, no-wrap msgid "14.1-STABLE after it was renamed from 14.1-PRERELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:714 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:734 #, no-wrap msgid "1401501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:715 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:735 #, no-wrap msgid "gitref:f285eabc89ce8ccf3aaf563401df942e406c2b5f[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:716 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:736 #, no-wrap msgid "June 6, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:718 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:738 #, no-wrap msgid "14.1-STABLE after adding the linuxkpi_video module." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:719 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:739 #, no-wrap msgid "1401502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:720 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:740 #, no-wrap msgid "gitref:b37a6d41a046dbb46ee1d6bf00c710c03c944a24[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:721 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:741 #, no-wrap msgid "August 2, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:723 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:743 #, no-wrap msgid "14.1-STABLE after LinuxKPI changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:724 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:744 #, no-wrap msgid "1401503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:725 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:745 #, no-wrap msgid "gitref:8a5a9dbf389e86d278764ababf2f1eb8ee276680[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:726 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:746 #, no-wrap msgid "October 15, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:728 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:748 #, no-wrap msgid "14.1-STABLE after widening the `flags` field in `vm_object`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:729 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:749 #, no-wrap msgid "1402500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:730 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:750 #, no-wrap msgid "gitref:4e8444d5750a5d9da9c812e8f6caf6d62862be0a[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:731 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:751 #, no-wrap msgid "October 31, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:733 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:753 #, no-wrap msgid "14.2-STABLE after it was renamed from 14.2-PRERELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:734 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:754 #, no-wrap msgid "1402501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:735 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:755 #, no-wrap msgid "gitref:35d2f335e855af816d0a7fe5baf6a3facba84562[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:736 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1769 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:756 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1789 #, no-wrap msgid "December 1, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:738 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:758 #, no-wrap msgid "14.2-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-19.1.4-0-gaadaa00de76e, a.k.a. 19.1.4 release." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:739 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:759 #, no-wrap msgid "1402502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:740 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:760 #, no-wrap msgid "gitref:d172f42e4ba7ba8542ae0866aaba56e329b4ea2c[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:741 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:746 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:761 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:766 #, no-wrap msgid "February 27, 2025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:743 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:763 #, no-wrap msgid "14.2-STABLE after removing redundant `type` and `rid` arguments from several functions in the new-bus resource API." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:744 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:764 #, no-wrap msgid "1402503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:745 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:765 #, no-wrap msgid "gitref:4aed8b3b613c5e1499336e4d7ec7e9a3ac3d9a12[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:748 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:768 #, no-wrap msgid "14.2-STABLE after adding `bus_attach_children`, `bus_detach_children`, and `bus_identify_children`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:749 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:769 #, no-wrap msgid "1402505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:750 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:770 #, no-wrap msgid "gitref:a3b2d8e360c37853035f9cede6064c4602312bfc[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:751 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:771 #, no-wrap msgid "April 18, 2025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:753 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:773 #, no-wrap msgid "14.2-STABLE after changing alloc changes to LinuxKPI and removing iwlwifi firmware." 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:765 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:785 #, no-wrap msgid "FreeBSD 13 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:768 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:788 #, no-wrap msgid "FreeBSD 13 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:777 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:797 #, no-wrap msgid "1300000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:778 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:798 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/339436[339436]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:779 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2227 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:799 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2247 #, no-wrap msgid "October 19, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:781 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:801 #, no-wrap msgid "13.0-CURRENT." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:782 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:802 #, no-wrap msgid "1300001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:783 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:803 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/339730[339730]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:784 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:789 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2232 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:804 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:809 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2252 #, no-wrap msgid "October 25, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:786 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:806 #, 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:787 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:807 #, no-wrap msgid "1300002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:788 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:808 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/339765[339765]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:791 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:811 #, 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:792 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:812 #, no-wrap msgid "1300003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:793 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:813 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/340055[340055]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:794 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:814 #, no-wrap msgid "November 2, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:796 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:816 #, 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:797 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:817 #, no-wrap msgid "1300004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:798 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:818 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/340841[340841]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:799 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:819 #, no-wrap msgid "November 23, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:801 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:821 #, no-wrap msgid "13.0-CURRENT after enabling crtbegin and crtend code." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:802 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:822 #, no-wrap msgid "1300005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:803 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:823 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/341836[341836]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:804 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:824 #, no-wrap msgid "December 11, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:806 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:826 #, no-wrap msgid "13.0-CURRENT after enabling UFS inode checksums." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:807 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:827 #, no-wrap msgid "1300006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:808 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:828 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/342398[342398]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:809 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:829 #, no-wrap msgid "December 24, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:811 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:831 #, 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:812 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:832 #, no-wrap msgid "1300007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:813 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:833 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/342629[342629]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:814 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:834 #, no-wrap msgid "December 30, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:816 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:836 #, 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:817 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:837 #, no-wrap msgid "1300008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:818 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:838 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/342772[342772]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:819 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:839 #, no-wrap msgid "January 4, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:821 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:841 #, 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:822 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:842 #, no-wrap msgid "1300009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:823 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:843 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/343213[343213]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:824 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:844 #, no-wrap msgid "January 20, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:826 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:846 #, 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:827 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:847 #, no-wrap msgid "1300010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:828 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:848 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/343485[343485]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:829 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:849 #, no-wrap msgid "January 27, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:831 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:851 #, 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:832 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:852 #, no-wrap msgid "1300011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:833 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:853 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/344041[344041]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:834 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:839 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:854 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:859 #, no-wrap msgid "February 12, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:836 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:856 #, 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:837 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:857 #, no-wrap msgid "1300012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:838 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:858 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/344062[344062]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:841 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:861 #, 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:842 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:862 #, no-wrap msgid "1300013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:843 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:863 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/344300[344300]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:844 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:864 #, no-wrap msgid "February 19, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:846 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:866 #, 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:847 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:867 #, no-wrap msgid "1300014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:848 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:868 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/344779[344779]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:849 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:869 #, no-wrap msgid "March 4, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:851 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:871 #, 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:852 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:872 #, no-wrap msgid "1300015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:853 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:873 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/345196[345196]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:854 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2257 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:874 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2277 #, no-wrap msgid "March 15, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:856 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:876 #, 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:857 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:877 #, no-wrap msgid "1300016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:858 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:878 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/345236[345236]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:859 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:869 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:879 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:889 #, no-wrap msgid "March 16, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:861 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:881 #, 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:862 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:882 #, no-wrap msgid "1300017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:863 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:883 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/345305[345305]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:864 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:884 #, no-wrap msgid "March 19, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:866 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:886 #, 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:867 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:887 #, no-wrap msgid "1300018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:868 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:888 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/346012[346012]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:871 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:891 #, 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:872 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:892 #, no-wrap msgid "1300019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:873 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:893 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/346282[346282]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:874 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3425 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:894 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3445 #, no-wrap msgid "April 16, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:876 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:896 #, 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:877 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:897 #, no-wrap msgid "1300020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:878 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:898 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/346358[346358]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:879 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:899 #, no-wrap msgid "April 18, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:881 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:901 #, 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:882 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:902 #, no-wrap msgid "1300021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:883 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:903 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/346645[346645]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:884 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:904 #, no-wrap msgid "April 24, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:886 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:906 #, 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:887 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:907 #, no-wrap msgid "1300022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:888 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:908 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347089[347089]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:889 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:909 #, no-wrap msgid "May 4, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:891 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:911 #, 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:892 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:912 #, no-wrap msgid "1300023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:893 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:913 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347192[347192]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:894 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3435 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:914 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3455 #, no-wrap msgid "May 6, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:896 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:916 #, 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:897 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:917 #, no-wrap msgid "1300024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:898 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:918 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347325[347325]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:899 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:919 #, no-wrap msgid "May 8, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:901 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:921 #, 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:902 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:922 #, no-wrap msgid "1300025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:903 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:923 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347532[347532]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:904 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:924 #, no-wrap msgid "May 13, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:906 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:926 #, 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:907 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:927 #, no-wrap msgid "1300026" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:908 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:928 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347596[347596]" 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:929 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:934 #, no-wrap msgid "May 14, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:911 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:931 #, 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:912 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:932 #, no-wrap msgid "1300027" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:913 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:933 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347601[347601]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:916 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:936 #, 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:917 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:937 #, no-wrap msgid "1300028" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:918 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:938 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347925[347925]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:919 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:939 #, no-wrap msgid "May 17, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:921 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:941 #, 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:922 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:942 #, no-wrap msgid "1300029" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:923 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:943 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347984[347984]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:924 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:944 #, no-wrap msgid "May 20, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:926 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:946 #, 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:927 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:947 #, no-wrap msgid "1300030" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:928 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:948 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/348350[348350]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:929 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:949 #, no-wrap msgid "May 29, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:931 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:951 #, 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:932 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:952 #, no-wrap msgid "1300031" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:933 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:953 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/348808[348808]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:934 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:954 #, no-wrap msgid "June 8, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:936 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:956 #, 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:937 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:957 #, no-wrap msgid "1300032" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:938 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:958 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/349151[349151]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:939 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:959 #, no-wrap msgid "June 17, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:941 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:961 #, 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:942 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:962 #, no-wrap msgid "1300033" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:943 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:963 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/349277[349277]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:944 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:964 #, no-wrap msgid "June 21, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:946 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:966 #, 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:947 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:967 #, no-wrap msgid "1300034" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:948 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:968 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/349352[349352]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:949 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:969 #, no-wrap msgid "June 24, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:951 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:971 #, no-wrap msgid "13.0-CURRENT after NAND and NANDFS removal." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:952 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:972 #, no-wrap msgid "1300035" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:953 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:973 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/349846[349846]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:954 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:974 #, no-wrap msgid "July 8, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:956 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:976 #, 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:957 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:977 #, no-wrap msgid "1300036" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:958 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:978 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/349972[349972]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:959 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:979 #, no-wrap msgid "July 13, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:961 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:981 #, 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:962 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:982 #, no-wrap msgid "1300037" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:963 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:983 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/350307[350307]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:964 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:984 #, no-wrap msgid "July 24, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:966 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:986 #, 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:967 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:987 #, no-wrap msgid "1300038" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:968 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:988 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/350437[350437]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:969 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:989 #, no-wrap msgid "July 30, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:971 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:991 #, 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:972 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:992 #, no-wrap msgid "1300039" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:973 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:993 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/350665[350665]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:974 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:994 #, no-wrap msgid "August 7, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:976 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:996 #, 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:977 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:997 #, no-wrap msgid "1300040" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:978 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:998 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/351140[351140]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:979 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:999 #, no-wrap msgid "August 16, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:981 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1001 #, 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:982 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1167 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1337 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1597 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1910 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3666 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5211 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5746 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6299 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6487 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7451 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7456 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1002 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1187 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1357 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1617 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1930 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3686 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5231 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5766 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6319 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6507 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7471 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7476 #, no-wrap msgid "(not changed)" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:983 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1003 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/351423[351423]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:984 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1004 #, no-wrap msgid "August 23, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:986 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1006 #, 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:987 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1007 #, no-wrap msgid "1300041" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:988 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1008 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/351480[351480]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:989 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1009 #, no-wrap msgid "August 25, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:991 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1011 #, 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:992 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1012 #, no-wrap msgid "1300042" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:993 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1013 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/351522[351522]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:994 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1014 #, no-wrap msgid "August 27, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:996 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1016 #, 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:997 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1017 #, no-wrap msgid "1300043" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:998 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1018 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/351698[351698]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:999 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1004 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1019 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1024 #, no-wrap msgid "September 2, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1001 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1021 #, no-wrap msgid "13.0-CURRENT after removal of man:gets[3]." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1002 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1022 #, no-wrap msgid "1300044" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1003 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1023 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/351701[351701]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1006 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1026 #, 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:1007 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1027 #, no-wrap msgid "1300045" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1008 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1028 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/351729[351729]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1009 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1029 #, no-wrap msgid "September 3, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1011 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1031 #, 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:1012 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1032 #, no-wrap msgid "1300046" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1013 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1033 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/351937[351937]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1014 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1034 #, no-wrap msgid "September 6, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1016 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1036 #, no-wrap msgid "13.0-CURRENT after LinuxKPI sysfs improvements." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1017 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1037 #, no-wrap msgid "1300047" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1018 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1038 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/352110[352110]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1019 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2322 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1039 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2342 #, no-wrap msgid "September 9, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1021 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1041 #, 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:1022 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1042 #, no-wrap msgid "1300048" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1023 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1043 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/352700[352700]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1024 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1044 #, no-wrap msgid "September 25, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1026 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1046 #, 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:1027 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1047 #, no-wrap msgid "1300049" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1028 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1048 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/353274[353274]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1029 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1049 #, no-wrap msgid "October 7, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1031 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1051 #, 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:1032 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1052 #, no-wrap msgid "1300050" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1033 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1053 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/353358[353358]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1034 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1054 #, no-wrap msgid "October 9, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1036 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1056 #, 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:1037 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1057 #, no-wrap msgid "1300051" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1038 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1058 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/353685[353685]" 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:1049 +#: 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:1069 #, no-wrap msgid "October 17, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1041 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1061 #, 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:1042 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1062 #, no-wrap msgid "1300052" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1043 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1063 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/353698[353698]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1046 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1066 #, 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:1047 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1067 #, no-wrap msgid "1300053" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1048 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1068 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/353700[353700]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1051 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1071 #, no-wrap msgid "13.0-CURRENT after implementing NetGDB." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1052 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1072 #, no-wrap msgid "1300054" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1053 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1073 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/353868[353868]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1054 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1074 #, no-wrap msgid "October 21, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1056 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1076 #, 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:1057 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1077 #, no-wrap msgid "1300055" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1058 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1078 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354335[354335]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1059 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1079 #, no-wrap msgid "November 4, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1061 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1081 #, 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:1062 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1082 #, no-wrap msgid "1300056" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1063 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1083 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354460[354460]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1064 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1084 #, no-wrap msgid "November 7, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1066 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1086 #, 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:1067 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1087 #, no-wrap msgid "1300057" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1068 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1088 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354694[354694]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1069 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1089 #, no-wrap msgid "November 13, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1071 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1091 #, 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:1072 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1092 #, no-wrap msgid "1300058" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1073 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1093 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354820[354820]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1074 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1079 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1094 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1099 #, no-wrap msgid "November 18, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1076 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1096 #, 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:1077 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1097 #, no-wrap msgid "1300059" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1078 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1098 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354835[354835]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1081 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1101 #, 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:1082 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1102 #, no-wrap msgid "1300060" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1083 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1103 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354922[354922]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1084 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1104 #, no-wrap msgid "November 20, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1086 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1106 #, 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:1087 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1107 #, no-wrap msgid "1300061" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1088 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1108 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354977[354977]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1089 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2357 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1109 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2377 #, no-wrap msgid "November 21, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1091 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1111 #, 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:1092 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1112 #, no-wrap msgid "1300062" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1093 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1113 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/355309[355309]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1094 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1114 #, no-wrap msgid "December 2, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1096 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1116 #, no-wrap msgid "13.0-CURRENT after adding TCP_STATS support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1097 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1117 #, no-wrap msgid "1300063" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1098 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1118 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/355537[355537]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1099 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1119 #, no-wrap msgid "December 8, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1101 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1121 #, 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:1102 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1122 #, no-wrap msgid "1300064" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1103 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2361 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1123 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2381 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/355658[355658]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1104 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1124 #, no-wrap msgid "December 9, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1106 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1126 #, 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:1107 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1127 #, no-wrap msgid "1300065" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1108 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1128 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/355643[355643]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1109 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1114 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1129 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1134 #, no-wrap msgid "December 12, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1111 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1131 #, 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:1112 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1132 #, no-wrap msgid "1300066" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1113 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1133 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/355679[355679]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1116 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1136 #, 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:1117 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1137 #, no-wrap msgid "1300067" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1118 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1138 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/355732[355732]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1119 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1139 #, no-wrap msgid "December 13, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1121 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1141 #, 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:1122 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1142 #, no-wrap msgid "1300068" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1123 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1143 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/355828[355828]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1124 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1144 #, no-wrap msgid "December 16, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1126 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1146 #, 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:1127 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1147 #, no-wrap msgid "1300069" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1128 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1148 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356051[356051]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1129 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1149 #, no-wrap msgid "December 24, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1131 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1151 #, no-wrap msgid "13.0-CURRENT after the addition of busdma templates." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1132 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1152 #, no-wrap msgid "1300070" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1133 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1153 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356113[356113]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1134 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1139 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1154 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1159 #, no-wrap msgid "December 27, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1136 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1156 #, 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:1137 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1157 #, no-wrap msgid "1300071" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1138 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1158 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356135[356135]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1141 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1161 #, 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:1142 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1162 #, no-wrap msgid "1300072" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1143 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1163 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356185[356185]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1144 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1164 #, no-wrap msgid "December 29, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1146 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1166 #, 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:1147 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1167 #, no-wrap msgid "1300073" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1148 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1168 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356263[356263]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1149 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2377 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1169 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2397 #, no-wrap msgid "January 2, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1151 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1171 #, 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:1152 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1172 #, no-wrap msgid "1300074" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1153 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1173 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356337[356337]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1154 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1174 #, no-wrap msgid "January 3, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1156 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1176 #, 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:1157 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1177 #, no-wrap msgid "1300075" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1158 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1178 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356409[356409]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1159 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2382 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3480 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4255 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1179 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2402 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3500 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4275 #, no-wrap msgid "January 6, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1161 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1181 #, 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:1162 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1182 #, no-wrap msgid "1300076" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1163 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1183 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356511[356511]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1164 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1184 #, no-wrap msgid "January 8, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1166 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1186 #, 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:1168 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1188 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/357396[357396]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1169 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1189 #, no-wrap msgid "February 2, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1171 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1191 #, 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:1172 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1192 #, no-wrap msgid "1300077" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1173 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1193 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/357455[357455]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1174 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1194 #, no-wrap msgid "February 3, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1176 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1196 #, 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:1177 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1197 #, no-wrap msgid "1300078" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1178 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1198 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/358020[358020]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1179 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1199 #, no-wrap msgid "February 17, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1181 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1201 #, 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:1182 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1202 #, no-wrap msgid "1300079" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1183 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1203 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/358164[358164]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1184 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1189 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1204 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1209 #, no-wrap msgid "February 20, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1186 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1206 #, 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:1187 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1207 #, no-wrap msgid "1300080" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1188 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1208 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/358172[358172]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1191 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1211 #, no-wrap msgid "13.0-CURRENT after adding `realpathat` syscall to VFS." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1192 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1212 #, no-wrap msgid "1300081" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1193 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1213 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/358218[358218]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1194 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1214 #, no-wrap msgid "February 21, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1196 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1216 #, no-wrap msgid "13.0-CURRENT after recent linuxkpi changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1197 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1217 #, no-wrap msgid "1300082" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1198 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1218 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/358497[358497]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1199 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1219 #, no-wrap msgid "March 1, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1201 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1221 #, no-wrap msgid "13.0-CURRENT after removal of man:bktr[4]." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1202 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1222 #, no-wrap msgid "1300083" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1203 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1223 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/358834[358834]" 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:1224 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1229 #, no-wrap msgid "March 10, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1206 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1226 #, 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:1207 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1227 #, no-wrap msgid "1300084" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1208 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1228 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/358851[358851]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1211 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1231 #, 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:1212 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1232 #, no-wrap msgid "1300085" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1213 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1233 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/359261[359261]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1214 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1234 #, no-wrap msgid "March 23, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1216 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1236 #, 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:1217 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1237 #, no-wrap msgid "1300086" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1218 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1238 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/359347[359347]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1219 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1239 #, no-wrap msgid "March 26, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1221 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1241 #, 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:1222 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1242 #, no-wrap msgid "1300087" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1223 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1243 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/359374[359374]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1224 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1244 #, no-wrap msgid "March 27, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1226 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1246 #, 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:1227 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1247 #, no-wrap msgid "1300088" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1228 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1248 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/359530[359530]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1229 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1249 #, no-wrap msgid "April 1, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1231 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1251 #, 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:1232 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1252 #, no-wrap msgid "1300089" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1233 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1253 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/359727[359727]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1234 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1254 #, no-wrap msgid "April 8, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1236 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1256 #, 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:1237 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1257 #, no-wrap msgid "1300090" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1238 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1258 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/359747[359747]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1239 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1259 #, no-wrap msgid "April 9, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1241 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1261 #, 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:1242 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1262 #, no-wrap msgid "1300091" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1243 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1263 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/359839[359839]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1244 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1264 #, no-wrap msgid "April 12, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1246 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1266 #, 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:1247 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1267 #, no-wrap msgid "1300092" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1248 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1268 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/359920[359920]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1249 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1269 #, no-wrap msgid "April 14, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1251 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1271 #, 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:1252 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1272 #, no-wrap msgid "1300093" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1253 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1273 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/360418[360418]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1254 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1274 #, no-wrap msgid "April 27, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1256 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1276 #, 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:1257 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1277 #, no-wrap msgid "1300094" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1258 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1278 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/360796[360796]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1259 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3505 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1279 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3525 #, no-wrap msgid "May 7, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1261 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1281 #, no-wrap msgid "13.0-CURRENT after linuxkpi changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1262 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1282 #, no-wrap msgid "1300095" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1263 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1283 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/361275[361275]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1264 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1284 #, no-wrap msgid "May 20, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1266 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1286 #, 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:1267 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1287 #, no-wrap msgid "1300096" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1268 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1288 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/361410[361410]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1269 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1289 #, no-wrap msgid "May 23, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1271 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1291 #, 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:1272 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1292 #, no-wrap msgid "1300097" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1273 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1293 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/361724[361724]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1274 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1294 #, no-wrap msgid "June 2, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1276 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1296 #, 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:1277 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1297 #, no-wrap msgid "1300098" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1278 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1298 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/362159[362159]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1279 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1299 #, no-wrap msgid "June 14, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1281 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1301 #, 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:1282 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1302 #, no-wrap msgid "1300099" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1283 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1303 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/362453[362453]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1284 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1304 #, no-wrap msgid "June 20, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1286 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1306 #, 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:1287 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1307 #, no-wrap msgid "1300100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1288 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1308 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/362640[362640]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1289 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1309 #, no-wrap msgid "June 26, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1291 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1311 #, 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:1292 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1312 #, no-wrap msgid "1300101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1293 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1313 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/363077[363077]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1294 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1314 #, no-wrap msgid "July 10, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1296 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1316 #, 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:1297 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1317 #, no-wrap msgid "1300102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1298 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1318 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/363562[363562]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1299 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1319 #, no-wrap msgid "July 26, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1301 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1321 #, 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:1302 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1322 #, no-wrap msgid "1300103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1303 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1323 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/363757[363757]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1304 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1324 #, no-wrap msgid "August 1, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1306 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1326 #, 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:1307 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1327 #, no-wrap msgid "1300104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1308 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1328 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/363783[363783]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1309 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1329 #, no-wrap msgid "August 2, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1311 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1331 #, no-wrap msgid "13.0-CURRENT after vnode layout changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1312 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1332 #, no-wrap msgid "1300105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1313 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1333 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/363894[363894]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1314 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1334 #, no-wrap msgid "August 5, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1316 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1336 #, no-wrap msgid "13.0-CURRENT after `vaccess()` change." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1317 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1337 #, no-wrap msgid "1300106" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1318 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1338 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364092[364092]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1319 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1324 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1339 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1344 #, no-wrap msgid "August 11, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1321 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1341 #, 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:1322 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1342 #, no-wrap msgid "1300107" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1323 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1343 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364109[364109]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1326 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1346 #, 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:1327 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1347 #, no-wrap msgid "1300108" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1328 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1348 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364233[364233]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1329 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1349 #, no-wrap msgid "August 14, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1331 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1351 #, 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:1332 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1352 #, no-wrap msgid "1300109" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1333 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1353 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364274[364274]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1334 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1339 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1354 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1359 #, no-wrap msgid "August 16, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1336 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1356 #, 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:1338 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1358 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364284[364284]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1341 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1361 #, 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:1342 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1362 #, no-wrap msgid "1300110" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1343 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1363 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364331[364331]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1344 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1364 #, no-wrap msgid "August 18, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1346 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1366 #, 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:1347 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1367 #, no-wrap msgid "1300111" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1348 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1368 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364476[364476]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1349 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1369 #, no-wrap msgid "August 22, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1351 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1371 #, 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:1352 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1372 #, no-wrap msgid "1300112" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1353 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1373 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364747[364747]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1354 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1359 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1374 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1379 #, no-wrap msgid "August 25, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1356 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1376 #, no-wrap msgid "13.0-CURRENT after merging OpenZFS support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1357 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1377 #, no-wrap msgid "1300113" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1358 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1378 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364753[364753]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1361 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1381 #, 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:1362 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1382 #, no-wrap msgid "1300114" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1363 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1383 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/365459[365459]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1364 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2467 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3550 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1384 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2487 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3570 #, no-wrap msgid "September 8, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1366 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1386 #, 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:1367 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1387 #, no-wrap msgid "1300115" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1368 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1388 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/365705[365705]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1369 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1389 #, no-wrap msgid "September 14, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1371 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1391 #, 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:1372 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1392 #, no-wrap msgid "1300116" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1373 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1393 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366062[366062]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1374 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1394 #, no-wrap msgid "September 22, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1376 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1396 #, 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:1377 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1397 #, no-wrap msgid "1300117" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1378 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1398 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366070[366070]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1379 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1399 #, no-wrap msgid "September 23, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1381 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1401 #, 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:1382 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1402 #, no-wrap msgid "1300118" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1383 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1403 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366374[366374]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1384 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1404 #, no-wrap msgid "October 2, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1386 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1406 #, 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:1387 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1407 #, no-wrap msgid "1300119" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1388 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1408 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366432[366432]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1389 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1409 #, no-wrap msgid "October 6, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1391 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1411 #, 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:1392 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1412 #, no-wrap msgid "1300120" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1393 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1413 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366666[366666]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1394 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1414 #, no-wrap msgid "October 13, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1396 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1416 #, 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:1397 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1417 #, no-wrap msgid "1300121" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1398 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1418 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366719[366719]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1399 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1419 #, no-wrap msgid "October 15, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1401 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1421 #, no-wrap msgid "13.0-CURRENT after the addition of `VOP_EAGAIN`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1402 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1422 #, no-wrap msgid "1300122" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1403 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1423 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366782[366782]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1404 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1424 #, no-wrap msgid "October 17, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1406 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1426 #, no-wrap msgid "13.0-CURRENT after the addition of `ptsname_r`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1407 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1427 #, no-wrap msgid "1300123" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1408 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1428 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366871[366871]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1409 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2497 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3560 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3565 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1429 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2517 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3580 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3585 #, no-wrap msgid "October 20, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1411 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1431 #, no-wrap msgid "13.0-CURRENT after `VOP`, `VPTOCNP`, and `INACTIVE` changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1412 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1432 #, no-wrap msgid "1300124" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1413 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1433 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/367162[367162]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1414 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1434 #, no-wrap msgid "October 30, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1416 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1436 #, 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:1417 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1437 #, no-wrap msgid "1300125" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1418 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1438 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/367347[367347]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1419 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1439 #, no-wrap msgid "November 4, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1421 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1441 #, 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:1422 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1442 #, no-wrap msgid "1300126" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1423 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1443 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/367384[367384]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1424 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1444 #, no-wrap msgid "November 5, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1426 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1446 #, no-wrap msgid "13.0-CURRENT after rationalizing per-cpu zones." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1427 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1447 #, no-wrap msgid "1300127" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1428 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1448 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/367432[367432]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1429 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1449 #, no-wrap msgid "November 6, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1431 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1451 #, 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:1432 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1452 #, no-wrap msgid "1300128" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1433 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1453 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/367522[367522]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1434 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2502 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3570 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1454 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2522 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3590 #, no-wrap msgid "November 9, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1436 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1456 #, 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:1437 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1457 #, no-wrap msgid "1300129" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1438 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1458 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/367627[367627]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1439 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1459 #, no-wrap msgid "November 12, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1441 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1461 #, no-wrap msgid "13.0-CURRENT after retiring `malloc_last_fail`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1442 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1462 #, no-wrap msgid "1300130" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1443 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1463 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/367777[367777]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1444 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1464 #, no-wrap msgid "November 17, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1446 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1466 #, 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:1447 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1467 #, no-wrap msgid "1300131" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1448 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1468 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/368417[368417]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1449 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1469 #, no-wrap msgid "December 7, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1451 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1471 #, no-wrap msgid "13.0-CURRENT after removal of crypto file descriptors." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1452 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1472 #, no-wrap msgid "1300132" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1453 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1473 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/368659[368659]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1454 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1474 #, no-wrap msgid "December 15, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1456 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1476 #, 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:1457 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1477 #, no-wrap msgid "1300133" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1458 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1478 #, no-wrap msgid "gitref:2ed0c8d801f5f72dbde7a7d30135c1cc361a1e90[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1459 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1479 #, no-wrap msgid "December 23, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1461 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1481 #, 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:1462 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1482 #, no-wrap msgid "1300134" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1463 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1483 #, no-wrap msgid "gitref:a84b0e94cdbf1a17a798ab7f77375aacb4d400ff[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1464 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1484 #, no-wrap msgid "January 7, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1466 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1486 #, 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:1467 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1487 #, no-wrap msgid "1300135" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1468 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1488 #, no-wrap msgid "gitref:35a39dc5b34962081eeda8dbcf0b99a31585499b[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1469 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1489 #, no-wrap msgid "January 12, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1471 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1491 #, 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:1472 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1492 #, no-wrap msgid "1300136" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1473 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1493 #, no-wrap msgid "gitref:72c551930be195b5ea982c1b16767f54388424f2[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1474 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1494 #, no-wrap msgid "January 17, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1476 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1496 #, 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:1477 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1497 #, no-wrap msgid "1300137" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1478 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1498 #, no-wrap msgid "gitref:010196adcfaf2bb610725394d40691874b4ff2af[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1479 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1499 #, no-wrap msgid "January 30, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1481 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1501 #, 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:1482 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1502 #, no-wrap msgid "1300138" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1483 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1503 #, no-wrap msgid "gitref:dcee9964238b12a8e55917f292139f074b1a80b2[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1484 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1504 #, no-wrap msgid "February 1, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1486 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1506 #, 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:1487 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1507 #, no-wrap msgid "1300139" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1488 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1508 #, no-wrap msgid "gitref:91a07ed50ffca4dfada3e7f1f050ea746c1bac66[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1489 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1509 #, no-wrap msgid "February 2, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1491 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1511 #, 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:1492 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1512 #, no-wrap msgid "1300500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1493 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1513 #, no-wrap msgid "gitref:3c6a89748a01869c18955d5e3bfcdf35f6705d26[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1494 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1514 #, no-wrap msgid "February 5, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1496 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1516 #, no-wrap msgid "13.0-STABLE after releng/13.0 was branched." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1497 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1502 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1517 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1522 #, no-wrap msgid "1300501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1498 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1503 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1518 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1523 #, no-wrap msgid "gitref:c3f97dd75a1c294c4f60f42b604ee8bcda17be09[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1499 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1504 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1509 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1514 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1519 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1524 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1529 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1534 #, no-wrap msgid "April 23, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1501 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1506 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1521 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1526 #, 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:1507 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1527 #, no-wrap msgid "1300502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1508 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1528 #, no-wrap msgid "gitref:da6a8ccfa293c3c831fdde51169754fcb9587657[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1511 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1531 #, 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:1512 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1532 #, no-wrap msgid "1300503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1513 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1533 #, no-wrap msgid "gitref:d60c6dc8f69b1264c7af5e2479ea94f000fd2c6d[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1516 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1536 #, 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:1517 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1537 #, no-wrap msgid "1300504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1518 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1538 #, no-wrap msgid "gitref:fb34817c686cc130449325499870e36979899801[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1519 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2512 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1539 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2532 #, no-wrap msgid "April 30, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1521 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1541 #, 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:1522 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1542 #, no-wrap msgid "1300505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1523 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1543 #, no-wrap msgid "gitref:8f81f190a640e211dd814bdde7811982b9491fb0[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1524 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2517 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1544 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2537 #, no-wrap msgid "May 10, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1526 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1546 #, 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:1527 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1547 #, no-wrap msgid "1300506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1528 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1548 #, no-wrap msgid "gitref:e31579b8558db508dfc3f8fc276611a7c3c93aa1[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1529 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1534 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1549 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1554 #, no-wrap msgid "June 2, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1531 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1551 #, 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:1532 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1552 #, no-wrap msgid "1300507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1533 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1553 #, no-wrap msgid "gitref:c64d1bd7145b5d30c97d1cd99e584da529d95100[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1536 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1556 #, 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:1537 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1557 #, no-wrap msgid "1300508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1538 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1558 #, no-wrap msgid "gitref:658f5eed38c35f3f7d6695110b7dae8dc94d12c7[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1541 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1561 #, 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:1542 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1562 #, no-wrap msgid "1300509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1543 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1563 #, no-wrap msgid "gitref:210349325af9920d1535ad76fa3b92847684f6e0[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1544 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1564 #, no-wrap msgid "June 14, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1546 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1566 #, 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:1547 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1567 #, no-wrap msgid "1300510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1548 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1568 #, no-wrap msgid "gitref:eb3397588e1b48043e166587ea454f60efea88d0[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1549 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2522 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1569 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2542 #, no-wrap msgid "June 26, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1551 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1571 #, 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:1552 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1572 #, no-wrap msgid "1300511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1553 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1573 #, no-wrap msgid "gitref:2622570aeb3d162812d72f7ef192c322cd8b73ef[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1554 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1574 #, no-wrap msgid "July 7, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1556 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1576 #, 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:1557 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1577 #, no-wrap msgid "1300512" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1558 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1578 #, no-wrap msgid "gitref:f72db34d2295080f57a283858125aa906c0d409e[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1559 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1579 #, no-wrap msgid "July 18, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1561 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1581 #, 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:1562 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1582 #, no-wrap msgid "1300513" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1563 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1583 #, no-wrap msgid "gitref:af732203b8f7f006927528db5497f5cbc4c4742a[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1566 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1586 #, 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:1567 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1587 #, no-wrap msgid "1300514" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1568 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1588 #, no-wrap msgid "gitref:53d162819c20e5cf267cb91f7a19940e96e8bec4[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1569 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1589 #, no-wrap msgid "August 3, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1571 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1591 #, 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:1572 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1592 #, no-wrap msgid "1300515" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1573 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1593 #, no-wrap msgid "gitref:0437d10e359ea1cbefff8d17cd18ca491dbbd5d7[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1574 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1594 #, no-wrap msgid "September 22, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1576 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1596 #, 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:1577 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1597 #, no-wrap msgid "1300518" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1578 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1598 #, no-wrap msgid "gitref:a017868e281874261a560ba1e3069b4e14b7483e[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1579 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1584 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1599 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1604 #, no-wrap msgid "October 21, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1581 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1601 #, no-wrap msgid "13.0-STABLE after adding `crypto_cursor_segment()`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1582 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1602 #, no-wrap msgid "1300519" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1583 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1603 #, no-wrap msgid "gitref:fe2827f1678b8ff0baf62a1529b2cc121a25b090[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1586 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1606 #, 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:1587 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1607 #, no-wrap msgid "1300521" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1588 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1608 #, no-wrap msgid "gitref:29745cf91cfc22afa94da0ce43e07a6dc377f631[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1589 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1609 #, no-wrap msgid "November 19, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1591 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1611 #, 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:1592 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1612 #, no-wrap msgid "1300522" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1593 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1613 #, no-wrap msgid "gitref:0c8684ae20019b63c6672cc9fa40e1426708b007[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1594 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1614 #, no-wrap msgid "November 24, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1596 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1616 #, 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:1598 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1618 #, no-wrap msgid "gitref:7224d4125ab57bc1c4c799a6c286be42f8d37a83[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1599 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1619 #, no-wrap msgid "December 6, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1601 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1621 #, 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:1602 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1622 #, no-wrap msgid "1300523" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1603 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1623 #, no-wrap msgid "gitref:690bcf605d84283c1f9d254885a3cac69c5e80a6[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1604 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1624 #, no-wrap msgid "December 18, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1606 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1626 #, 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:1607 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1627 #, no-wrap msgid "1300524" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1608 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1628 #, no-wrap msgid "gitref:dc4114875ef10618002d3eeb46f09dc42da56b30[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1609 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1629 #, no-wrap msgid "January 14, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1611 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1631 #, 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:1612 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1632 #, no-wrap msgid "1300525" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1613 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1633 #, no-wrap msgid "gitref:dee0854a009cde7dcdb16ba39754237737022c8a[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1614 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1634 #, no-wrap msgid "January 22, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1616 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1636 #, 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:1617 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1637 #, no-wrap msgid "1300526" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1618 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1638 #, no-wrap msgid "gitref:c39ff2415cb965b729fd16f9eae91e712313877b[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1619 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1639 #, no-wrap msgid "February 20, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1621 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1641 #, 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:1622 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1642 #, no-wrap msgid "1301000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1623 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1643 #, no-wrap msgid "gitref:ad329796bdb29c69bce610ad332d08257d7157ac[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1624 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1629 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1644 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1649 #, no-wrap msgid "March 10, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1626 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1646 #, no-wrap msgid "releng/13.1 branched." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1627 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1647 #, no-wrap msgid "1301500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1628 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1648 #, no-wrap msgid "gitref:08523c8c63bbcdcd3f0d36787a544817cb5b8282[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1631 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1651 #, no-wrap msgid "13.1-STABLE after releng/13.1 branched." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1632 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1652 #, no-wrap msgid "1301501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1633 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1653 #, no-wrap msgid "gitref:6663718bb49635deac3f5dc55fa6f0f7cba593ba[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1634 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1654 #, no-wrap msgid "March 27, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1636 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1656 #, 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:1637 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1657 #, no-wrap msgid "1301502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1638 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1658 #, no-wrap msgid "gitref:2278cf4e48e7679b0a60008a83c764fe852174b2[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1639 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1659 #, no-wrap msgid "April 27, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1641 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1656 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1666 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1661 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1676 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1686 #, no-wrap msgid "13.1-STABLE after various merges to LinuxKPI." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1642 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1662 #, no-wrap msgid "1301503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1643 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1663 #, no-wrap msgid "gitref:b2aa64d05bd8b04a1bdb63f2a5f9de39c600b463[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1644 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1664 #, no-wrap msgid "May 19, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1646 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1666 #, 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:1647 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1667 #, no-wrap msgid "1301504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1648 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1668 #, no-wrap msgid "gitref:a13b6fc61908fd6afa460b88f94e4a67be74bb9a[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1649 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1669 #, no-wrap msgid "June 4, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1651 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1671 #, 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:1652 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1672 #, no-wrap msgid "1301505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1653 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1673 #, no-wrap msgid "gitref:6f93a76ffeabf7d4488edc73a0cca01436c2903b[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1654 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1664 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1674 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1684 #, no-wrap msgid "June 21, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1657 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1677 #, no-wrap msgid "1301506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1658 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1678 #, no-wrap msgid "gitref:8e6cfc632cf6f9fc906df9d825649443939b55c6[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1659 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1679 #, no-wrap msgid "July 13, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1661 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1681 #, no-wrap msgid "13.1-STABLE after adding and ." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1662 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1682 #, no-wrap msgid "1301507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1663 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1683 #, no-wrap msgid "gitref:9cbba5950123f3afedcc5f24c43956e7a26f22f4[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1667 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1687 #, no-wrap msgid "1301508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1668 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1688 #, no-wrap msgid "gitref:83ac15a799e348c391951f5877feecd4089bab80[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1671 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1691 #, 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:1672 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1692 #, no-wrap msgid "1301509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1673 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1693 #, no-wrap msgid "gitref:baa97013121a915057ee54dfcb2cb87e541f7d7f[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1674 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2567 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1694 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2587 #, no-wrap msgid "October 19, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1676 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1696 #, 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:1677 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1697 #, no-wrap msgid "1301510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1678 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1698 #, no-wrap msgid "gitref:6820a0512fa6616ee1da46cb0075da80478776f0[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1679 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1699 #, no-wrap msgid "December 8, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1681 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1701 #, no-wrap msgid "13.1-STABLE after LinuxKPI dmi_matches() fixes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1682 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1702 #, no-wrap msgid "1301511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1683 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1703 #, no-wrap msgid "gitref:17333d92643d998d1c6a2dc5f6b1508b6507ad31[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1684 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1704 #, no-wrap msgid "December 17, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1686 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1706 #, 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:1687 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1707 #, no-wrap msgid "1302500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1688 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1708 #, no-wrap msgid "gitref:c243de11cf7c4bb3d67bbc1655b149037e5b04f1[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1689 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1709 #, no-wrap msgid "February 9, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1691 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1711 #, no-wrap msgid "13.2-STABLE after releng/13.2 was branched." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1692 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1712 #, no-wrap msgid "1302501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1693 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1713 #, no-wrap msgid "gitref:e3068d2655e2aea3e0b462a7298a68d344769ec6[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1694 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1714 #, no-wrap msgid "February 16, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1696 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1716 #, 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:1697 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1717 #, no-wrap msgid "1302502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1698 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1718 #, no-wrap msgid "gitref:5ca371f4f536f9ee9d6c9fb178bf1f7f6de33216[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1699 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1719 #, no-wrap msgid "February 17, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1701 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1706 #: documentation/content/en/books/porters-handbook/versions/_index.adoc:1721 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1726 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1741 #, no-wrap msgid "13.2-STABLE after various merges to LinuxKPI." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1702 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1722 #, no-wrap msgid "1302503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1703 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1723 #, no-wrap msgid "gitref:aaca677fee21f202db4bb974fc5056f4dcbbb598[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1704 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1724 #, no-wrap msgid "February 21, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1707 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1727 #, no-wrap msgid "1302504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1708 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1728 #, no-wrap msgid "gitref:d6852eed98ed32ad51120a22aa1ebdf0601917b3[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1709 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1729 #, no-wrap msgid "March 12, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1711 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1731 #, 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:1712 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1732 #, no-wrap msgid "1302505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1713 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1733 #, no-wrap msgid "gitref:85e32e957fcca01d50e29e543584909795c1acef[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1714 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1734 #, no-wrap msgid "April 9, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1716 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1736 #, 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:1717 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1737 #, no-wrap msgid "1302506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1718 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1738 #, no-wrap msgid "gitref:e982b1cf1fe1dc0b84dc24f03d1c21e3fe6bdef3[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1719 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1739 #, no-wrap msgid "June 26, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1722 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1742 #, no-wrap msgid "1302507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1723 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1743 #, no-wrap msgid "gitref:b2acc21dfbd6fab28b1715c775b43d4914b75e0c[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1724 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1744 #, no-wrap msgid "July 23, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1726 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1746 #, 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:1727 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1747 #, no-wrap msgid "1302508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1728 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1748 #, no-wrap msgid "gitref:21ccba43f511cc4089899619b5a85e6d83a200dc[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1729 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1749 #, no-wrap msgid "September 6, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1731 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1751 #, no-wrap msgid "13.2-STABLE after ptrace started clearing TDB_BORN during PT_DETACH." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1732 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1752 #, no-wrap msgid "1302509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1733 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1753 #, no-wrap msgid "gitref:faedeaf7377ba7253c281cf3315b17e0cb979075[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1734 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1754 #, no-wrap msgid "December 2, 2023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1736 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1756 #, no-wrap msgid "13.2-STABLE after adding a new VFS function called `vfs_exjail_clone()`, which will be used by the ZFS module." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1737 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1757 #, no-wrap msgid "1302510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1738 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1758 #, no-wrap msgid "gitref:45758665781dd63dfa38bcb646d4f36b0a6a104f[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1741 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1761 #, no-wrap msgid "13.2-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-17.0.6-0-g6009708b4367, a.k.a. 17.0.6 release." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1742 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1762 #, no-wrap msgid "1303001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1743 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1763 #, no-wrap msgid "gitref:a75a3d7afcc88dc0bc9b2797cce983056acadf10[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1744 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1749 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1764 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1769 #, no-wrap msgid "February 19, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1746 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1766 #, no-wrap msgid "13.3-BETA3 after changing net80211 `struct ieee80211vap` internals." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1747 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1767 #, no-wrap msgid "1303501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1748 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1768 #, no-wrap msgid "gitref:a7e1fc7f620d3341549c1380f550aaafbdb45622[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1751 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1771 #, no-wrap msgid "13.3-STABLE after changing net80211 `struct ieee80211vap` internals." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1752 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1772 #, no-wrap msgid "1303502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1753 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1773 #, no-wrap msgid "gitref:07839ae99c06fcbebd5da6ead49c160c32046542[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1756 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1776 #, no-wrap msgid "13.3-STABLE after fixing a clang assertion or crash when building recent boost libraries." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1757 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1777 #, no-wrap msgid "1303503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1758 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1778 #, no-wrap msgid "gitref:055e875e6077ed1eb2256c3ab5de59a3f6fbce18[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1761 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1781 #, no-wrap msgid "13.3-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-18.1.3-0-gc13b7485b879, a.k.a. 18.1.3 release." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1762 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1782 #, no-wrap msgid "1304500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1763 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1783 #, no-wrap msgid "gitref:77064cddb94875dc8d9693a93ac25019b7f62c59[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1764 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1784 #, no-wrap msgid "August 1, 2024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1766 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1786 #, no-wrap msgid "13.4-STABLE after it was renamed from 13.4-PRERELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1767 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1787 #, no-wrap msgid "1304501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1768 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1788 #, no-wrap msgid "gitref:b802ab153dd24f468b9bfe33a96c61408e0d0565[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1771 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1791 #, no-wrap msgid "13.4-STABLE after upgrading llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-19.1.4-0-gaadaa00de76e, a.k.a. 19.1.4 release." 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:1783 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1803 #, no-wrap msgid "FreeBSD 12 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1786 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1806 #, no-wrap msgid "FreeBSD 12 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1795 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1815 #, no-wrap msgid "1200000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1796 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1816 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/302409[302409]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1797 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1817 #, no-wrap msgid "July 7, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1799 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1819 #, no-wrap msgid "12.0-CURRENT." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1800 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1820 #, no-wrap msgid "1200001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1801 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1821 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/302628[302628]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1802 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1822 #, no-wrap msgid "July 12, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1804 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1824 #, 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:1805 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1825 #, no-wrap msgid "1200002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1806 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1826 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/304395[304395]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1807 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1827 #, no-wrap msgid "August 18, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1809 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1829 #, 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:1810 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1830 #, no-wrap msgid "1200003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1811 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1831 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/304608[304608]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1812 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3220 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4185 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1832 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3240 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4205 #, no-wrap msgid "August 22, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1814 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1834 #, 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:1815 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1835 #, no-wrap msgid "1200004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1816 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1836 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/304752[304752]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1817 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1837 #, no-wrap msgid "August 24, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1819 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1839 #, 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:1820 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1840 #, no-wrap msgid "1200005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1821 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1841 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/304789[304789]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1822 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1842 #, no-wrap msgid "August 25, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1824 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1844 #, 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:1825 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1845 #, no-wrap msgid "1200006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1826 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1846 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/305256[305256]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1827 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1847 #, no-wrap msgid "September 1, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1829 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1849 #, 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:1830 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1850 #, no-wrap msgid "1200007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1831 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1851 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/305421[305421]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1832 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1852 #, no-wrap msgid "September 5, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1834 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1854 #, 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:1835 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1855 #, no-wrap msgid "1200008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1836 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1856 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/305833[305833]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1837 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1857 #, no-wrap msgid "September 15, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1839 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1859 #, 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:1840 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1860 #, no-wrap msgid "1200009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1841 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1861 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/306077[306077]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1842 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1862 #, no-wrap msgid "September 21, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1844 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1864 #, 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:1845 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1865 #, no-wrap msgid "1200010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1846 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1866 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/306276[306276]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1847 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1867 #, no-wrap msgid "September 23, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1849 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1869 #, 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:1850 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1870 #, no-wrap msgid "1200011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1851 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1871 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/306556[306556]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1852 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1872 #, no-wrap msgid "October 1, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1854 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1874 #, 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:1855 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1875 #, no-wrap msgid "1200012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1856 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1876 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/306592[306592]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1857 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1877 #, no-wrap msgid "October 2, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1859 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1879 #, 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:1860 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1880 #, no-wrap msgid "1200013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1861 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1881 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/307140[307140]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1862 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1882 #, no-wrap msgid "October 12, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1864 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1884 #, 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:1865 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1885 #, no-wrap msgid "1200014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1866 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1886 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/307529[307529]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1867 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1887 #, no-wrap msgid "October 17, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1869 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1889 #, 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:1870 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1890 #, no-wrap msgid "1200015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1871 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1891 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/308874[308874]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1872 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1892 #, no-wrap msgid "November 20, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1874 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1894 #, 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:1875 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1895 #, no-wrap msgid "1200016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1876 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1896 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/309017[309017]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1877 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1897 #, no-wrap msgid "November 22, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1879 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1899 #, 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:1880 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1900 #, no-wrap msgid "1200017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1881 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1901 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/309124[309124]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1882 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1902 #, no-wrap msgid "November 25, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1884 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1904 #, 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:1885 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1905 #, no-wrap msgid "1200018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1886 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1906 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/309676[309676]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1887 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1907 #, no-wrap msgid "December 7, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1889 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1909 #, 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:1890 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1910 #, no-wrap msgid "1200019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1891 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1911 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/310149[310149]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1892 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1912 #, no-wrap msgid "December 16, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1894 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1914 #, 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:1895 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1915 #, no-wrap msgid "1200020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1896 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1916 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/312087[312087]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1897 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1917 #, no-wrap msgid "January 13, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1899 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1919 #, no-wrap msgid "12.0-CURRENT after removing `fgetsock` and `fputsock`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1900 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1920 #, no-wrap msgid "1200021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1901 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1921 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/313858[313858]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1902 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1922 #, no-wrap msgid "February 16, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1904 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1924 #, no-wrap msgid "12.0-CURRENT after removing MCA and EISA support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1905 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1925 #, no-wrap msgid "1200022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1906 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1926 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/314040[314040]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1907 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1927 #, no-wrap msgid "February 21, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1909 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1929 #, 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:1911 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1931 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/314373[314373]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1912 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1917 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1932 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1937 #, no-wrap msgid "March 2, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1914 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1934 #, 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:1915 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1935 #, no-wrap msgid "1200023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1916 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1936 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/314564[314564]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1919 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1939 #, 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:1920 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1940 #, no-wrap msgid "1200024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1921 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1941 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/314865[314865]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1922 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1942 #, no-wrap msgid "March 7, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1924 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1944 #, 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:1925 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1945 #, no-wrap msgid "1200025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1926 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1946 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/315430[315430]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1927 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1932 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1947 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1952 #, no-wrap msgid "March 16, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1929 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1949 #, no-wrap msgid "12.0-CURRENT after addition of the [.filename]## header." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1930 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1950 #, no-wrap msgid "1200026" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1931 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1951 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/315662[315662]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1934 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1954 #, 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:1935 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1955 #, no-wrap msgid "1200027" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1936 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1956 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/315673[315673]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1937 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1957 #, no-wrap msgid "March 21, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1939 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1959 #, no-wrap msgid "12.0-CURRENT after making CAM SIM lock optional." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1940 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1960 #, no-wrap msgid "1200028" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1941 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1961 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/316683[316683]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1942 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1962 #, no-wrap msgid "April 10, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1944 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1964 #, 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:1945 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1965 #, no-wrap msgid "1200029" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1946 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1966 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/317176[317176]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1947 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1967 #, no-wrap msgid "April 19, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1949 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1969 #, 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:1950 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1970 #, no-wrap msgid "1200030" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1951 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1971 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/317383[317383]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1952 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1972 #, no-wrap msgid "April 24, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1954 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1974 #, 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:1955 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1975 #, no-wrap msgid "1200031" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1956 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1976 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/318736[318736]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1957 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1977 #, no-wrap msgid "May 23, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1959 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1979 #, 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:1960 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1980 #, no-wrap msgid "1200032" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1961 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1981 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/319664[319664]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1962 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1982 #, no-wrap msgid "June 8, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1964 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1984 #, no-wrap msgid "12.0-CURRENT after removal of `groff`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1965 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1985 #, no-wrap msgid "1200033" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1966 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1986 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/320043[320043]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1967 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1987 #, no-wrap msgid "June 17, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1969 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1989 #, 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:1970 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1990 #, no-wrap msgid "1200034" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1971 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1991 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/320085[320085]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1972 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1992 #, no-wrap msgid "June 19, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1974 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1994 #, 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:1975 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1995 #, no-wrap msgid "1200035" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1976 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1996 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/320317[320317]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1977 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1997 #, no-wrap msgid "June 24, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1979 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1999 #, 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:1980 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2000 #, no-wrap msgid "1200036" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1981 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2001 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/320347[320347]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1982 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2002 #, no-wrap msgid "June 26, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1984 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2004 #, 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:1985 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2005 #, no-wrap msgid "1200037" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1986 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2006 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/320545[320545]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1987 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2007 #, no-wrap msgid "July 1, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1989 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2009 #, 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:1990 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2010 #, no-wrap msgid "1200038" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1991 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2011 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/320879[320879]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1992 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2012 #, no-wrap msgid "July 10, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1994 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2014 #, 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:1995 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2015 #, no-wrap msgid "1200039" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1996 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2016 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/321369[321369]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1997 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2017 #, no-wrap msgid "July 22, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:1999 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2019 #, 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:2000 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2020 #, no-wrap msgid "1200040" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2001 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3309 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2021 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3329 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/321688[321688]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2002 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3310 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2022 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3330 #, no-wrap msgid "July 29, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2004 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2024 #, 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:2005 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2025 #, no-wrap msgid "1200041" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2006 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2026 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/322762[322762]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2007 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2027 #, no-wrap msgid "August 21, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2009 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2029 #, 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:2010 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2030 #, no-wrap msgid "1200042" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2011 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2031 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/322900[322900]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2012 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2032 #, no-wrap msgid "August 25, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2014 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2034 #, 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:2015 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2035 #, no-wrap msgid "1200043" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2016 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2036 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/322989[322989]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2017 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2037 #, no-wrap msgid "August 28, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2019 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2039 #, 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:2020 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2040 #, no-wrap msgid "1200044" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2021 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2041 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/323349[323349]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2022 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2042 #, no-wrap msgid "September 8, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2024 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2044 #, 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:2025 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2045 #, no-wrap msgid "1200045" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2026 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2046 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/323706[323706]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2027 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2047 #, no-wrap msgid "September 18, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2029 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2049 #, 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:2030 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2050 #, no-wrap msgid "1200046" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2031 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2051 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/323910[323910]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2032 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2052 #, no-wrap msgid "September 22, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2034 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2054 #, 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:2035 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2055 #, no-wrap msgid "1200047" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2036 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2056 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/324053[324053]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2037 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3320 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3325 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2057 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3340 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3345 #, no-wrap msgid "September 26, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2039 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2059 #, 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:2040 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2060 #, no-wrap msgid "1200048" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2041 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2061 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/324227[324227]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2042 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2062 #, no-wrap msgid "October 2, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2044 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2064 #, 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:2045 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2065 #, no-wrap msgid "1200049" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2046 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2066 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/324281[324281]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2047 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2067 #, no-wrap msgid "October 4, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2049 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2069 #, 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:2050 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2070 #, no-wrap msgid "1200050" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2051 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2071 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/324342[324342]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2052 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2072 #, no-wrap msgid "October 5, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2054 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2074 #, 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:2055 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2075 #, no-wrap msgid "1200051" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2056 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2076 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/324455[324455]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2057 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2077 #, no-wrap msgid "October 9, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2059 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2079 #, 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:2060 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2080 #, no-wrap msgid "1200052" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2061 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2081 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/325028[325028]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2062 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2082 #, no-wrap msgid "October 26, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2064 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2084 #, 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:2065 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2085 #, no-wrap msgid "1200053" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2066 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2086 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/325506[325506]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2067 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2087 #, no-wrap msgid "November 7, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2069 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2089 #, 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:2070 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2090 #, no-wrap msgid "1200054" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2071 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2091 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/325852[325852]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2072 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2092 #, no-wrap msgid "November 15, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2074 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2094 #, 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:2075 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2095 #, no-wrap msgid "1200055" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2076 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2096 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/327740[327740]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2077 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2097 #, no-wrap msgid "January 9, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2079 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2099 #, no-wrap msgid "12.0-CURRENT after adding `cpucontrol -e` support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2080 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2100 #, no-wrap msgid "1200056" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2081 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2101 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/327952[327952]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2082 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2102 #, no-wrap msgid "January 14, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2084 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2104 #, 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:2085 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2105 #, no-wrap msgid "1200057" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2086 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2106 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/329033[329033]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2087 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2107 #, no-wrap msgid "February 8, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2089 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2109 #, 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:2090 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2110 #, no-wrap msgid "1200058" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2091 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2111 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/329166[329166]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2092 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2112 #, no-wrap msgid "February 12, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2094 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2114 #, no-wrap msgid "12.0-CURRENT after the Lua loader was committed." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2095 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2115 #, no-wrap msgid "1200059" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2096 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2116 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/330299[330299]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2097 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2117 #, no-wrap msgid "March 2, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2099 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2119 #, 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:2100 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2120 #, no-wrap msgid "1200060" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2101 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2121 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/330384[330384]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2102 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2122 #, no-wrap msgid "March 4, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2104 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2124 #, 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:2105 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2125 #, no-wrap msgid "1200061" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2106 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2126 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/332100[332100]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2107 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2127 #, no-wrap msgid "April 6, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2109 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2129 #, 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:2110 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2130 #, no-wrap msgid "1200062" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2111 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2131 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/332423[332423]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2112 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2132 #, no-wrap msgid "April 12, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2114 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2134 #, no-wrap msgid "12.0-CURRENT after changing the Netmap API." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2115 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2135 #, no-wrap msgid "1200063" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2116 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2136 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/333446[333446]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2117 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2137 #, no-wrap msgid "May 10, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2119 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2139 #, 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:2120 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2140 #, no-wrap msgid "1200064" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2121 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2141 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/334074[334074]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2122 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2142 #, no-wrap msgid "May 22, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2124 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2144 #, 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:2125 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2145 #, no-wrap msgid "1200065" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2126 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2146 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/334290[334290]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2127 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2147 #, no-wrap msgid "May 28, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2129 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2149 #, 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:2130 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2150 #, no-wrap msgid "1200066" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2131 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2151 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/334466[334466]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2132 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3385 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3390 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2152 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3405 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3410 #, no-wrap msgid "June 1, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2134 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2154 #, 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:2135 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2155 #, no-wrap msgid "1200067" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2136 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2156 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/334892[334892]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2137 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2157 #, no-wrap msgid "June 9, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2139 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2159 #, 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:2140 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2160 #, no-wrap msgid "1200068" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2141 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2161 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/334930[334930]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2142 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2162 #, no-wrap msgid "June 12, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2144 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2164 #, 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:2145 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2165 #, no-wrap msgid "1200069" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2146 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2166 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/335237[335237]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2147 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2167 #, no-wrap msgid "June 15, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2149 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2169 #, 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:2150 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2170 #, no-wrap msgid "1200070" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2151 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2171 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/335873[335873]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2152 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2172 #, no-wrap msgid "July 2, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2154 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2174 #, 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:2155 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2175 #, no-wrap msgid "1200071" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2156 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2176 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/335930[335930]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2157 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2177 #, no-wrap msgid "July 4, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2159 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2179 #, 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:2160 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2180 #, no-wrap msgid "1200072" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2161 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2181 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/335979[335979]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2162 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2182 #, no-wrap msgid "July 5, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2164 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2184 #, 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:2165 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2185 #, no-wrap msgid "1200073" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2166 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2186 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/336313[336313]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2167 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2187 #, no-wrap msgid "July 15, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2169 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2189 #, 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:2170 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2190 #, no-wrap msgid "1200074" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2171 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2191 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/336360[336360]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2172 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2192 #, no-wrap msgid "July 16, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2174 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2194 #, 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:2175 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2195 #, no-wrap msgid "1200075" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2176 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2196 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/336538[336538]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2177 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2197 #, no-wrap msgid "July 19, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2179 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2199 #, 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:2180 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2200 #, no-wrap msgid "1200076" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2181 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2201 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/336914[336914]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2182 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2202 #, no-wrap msgid "July 30, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2184 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2204 #, no-wrap msgid "12.0-CURRENT after KPI changes to `timespecadd`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2185 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2205 #, no-wrap msgid "1200077" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2186 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2206 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/337576[337576]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2187 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2207 #, no-wrap msgid "August 10, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2189 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2209 #, 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:2190 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2210 #, no-wrap msgid "1200078" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2191 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2211 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/337863[337863]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2192 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2212 #, no-wrap msgid "August 15, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2194 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2214 #, no-wrap msgid "12.0-CURRENT after exec.created hook for jails." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2195 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2215 #, no-wrap msgid "1200079" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2196 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2216 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/338061[338061]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2197 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2217 #, no-wrap msgid "August 19, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2199 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2219 #, 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:2200 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2220 #, no-wrap msgid "1200080" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2201 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2221 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/338172[338172]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2202 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2222 #, no-wrap msgid "August 22, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2204 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2224 #, no-wrap msgid "12.0-CURRENT after removing the drm drivers." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2205 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2225 #, no-wrap msgid "1200081" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2206 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2226 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/338182[338182]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2207 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2227 #, no-wrap msgid "August 21, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2209 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2229 #, no-wrap msgid "12.0-CURRENT after KPI changes to NVMe." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2210 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2230 #, no-wrap msgid "1200082" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2211 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2231 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/338285[338285]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2212 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2232 #, no-wrap msgid "August 24, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2214 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2234 #, 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:2215 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2235 #, no-wrap msgid "1200083" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2216 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2236 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/338331[338331]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2217 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2237 #, no-wrap msgid "August 26, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2219 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2239 #, 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:2220 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2240 #, no-wrap msgid "1200084" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2221 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2241 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/338478[338478]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2222 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2242 #, no-wrap msgid "September 5, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2224 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2244 #, 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:2225 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2245 #, no-wrap msgid "1200085" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2226 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2246 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/339270[339270]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2229 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2249 #, 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:2230 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2250 #, no-wrap msgid "1200086" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2231 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2251 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/339732[339732]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2234 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2254 #, 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:2235 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2255 #, no-wrap msgid "1200500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2236 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2256 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/340471[340471]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2237 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2257 #, no-wrap msgid "November 16, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2239 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2259 #, no-wrap msgid "12-STABLE after releng/12.0 was branched." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2240 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2260 #, no-wrap msgid "1200501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2241 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2261 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/342801[342801]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2242 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3415 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2262 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3435 #, no-wrap msgid "January 6, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2244 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2264 #, 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:2245 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2265 #, no-wrap msgid "1200502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2246 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2266 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/343126[343126]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2247 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2267 #, no-wrap msgid "January 17, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2249 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2269 #, 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:2250 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2270 #, no-wrap msgid "1200503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2251 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2271 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/344152[344152]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2252 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2272 #, no-wrap msgid "February 15, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2254 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2274 #, 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:2255 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2275 #, no-wrap msgid "1200504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2256 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2276 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/345169[345169]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2259 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2279 #, 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:2260 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2280 #, no-wrap msgid "1200505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2261 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2281 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/345327[345327]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2262 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2282 #, no-wrap msgid "March 20, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2264 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2284 #, 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:2265 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2285 #, no-wrap msgid "1200506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2266 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2286 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/346168[346168]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2267 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2287 #, no-wrap msgid "April 12, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2269 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2289 #, 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:2270 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2290 #, no-wrap msgid "1200507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2271 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2291 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/346337[346337]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2272 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2292 #, no-wrap msgid "April 17, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2274 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2294 #, 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:2275 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2295 #, no-wrap msgid "1200508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2276 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3429 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2296 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3449 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/346784[346784]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2277 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3430 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2297 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3450 #, no-wrap msgid "April 27, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2279 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2299 #, no-wrap msgid "12-STABLE after `ether_gen_addr` availability." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2280 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2300 #, no-wrap msgid "1200509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2281 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2301 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347790[347790]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2282 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3440 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2302 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3460 #, no-wrap msgid "May 16, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2284 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2304 #, 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:2285 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2305 #, no-wrap msgid "1200510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2286 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2306 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/348036[348036]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2287 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2307 #, no-wrap msgid "May 21, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2289 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2309 #, 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:2290 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2310 #, no-wrap msgid "1200511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2291 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2311 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/348243[348243]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2292 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2297 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2312 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2317 #, no-wrap msgid "May 24, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2294 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2314 #, 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:2295 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2315 #, no-wrap msgid "1200512" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2296 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2316 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/348245[348245]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2299 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2319 #, 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:2300 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2320 #, no-wrap msgid "1200513" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2301 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2321 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/349763[349763]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2302 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2322 #, no-wrap msgid "July 5, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2304 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2324 #, 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:2305 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2325 #, no-wrap msgid "1200514" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2306 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2326 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/350083[350083]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2307 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2327 #, no-wrap msgid "July 17, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2309 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2329 #, no-wrap msgid "12-STABLE after additions to LinuxKPI's rcu list." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2310 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2330 #, no-wrap msgid "1200515" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2311 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2331 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/350877[350877]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2312 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2332 #, no-wrap msgid "August 11, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2314 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2334 #, 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:2315 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2335 #, no-wrap msgid "1200516" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2316 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2336 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/351276[351276]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2317 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2337 #, no-wrap msgid "August 20, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2319 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2339 #, 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:2320 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2340 #, no-wrap msgid "1200517" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2321 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2341 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/352076[352076]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2324 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2344 #, 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:2325 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2345 #, no-wrap msgid "1200518" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2326 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2346 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/352114[352114]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2327 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2347 #, no-wrap msgid "September 10, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2329 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2349 #, no-wrap msgid "12-STABLE after additional updates to LinuxKPI's sysfs." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2330 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2350 #, no-wrap msgid "1200519" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2331 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2351 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/352351[352351]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2332 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2352 #, no-wrap msgid "September 15, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2334 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2354 #, no-wrap msgid "12-STABLE after MFC of the new fusefs driver." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2335 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2355 #, no-wrap msgid "1201000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2336 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2356 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/352546[352546]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2337 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2342 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2357 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2362 #, no-wrap msgid "September 20, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2339 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2359 #, no-wrap msgid "releng/12.1 branched from stable/12@r352480." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2340 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2360 #, no-wrap msgid "1201500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2341 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2361 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/352547[352547]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2344 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2364 #, no-wrap msgid "12-STABLE after branching releng/12.1." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2345 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2365 #, no-wrap msgid "1201501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2346 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3454 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2366 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3474 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354598[354598]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2347 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2362 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3455 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2367 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2382 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3475 #, no-wrap msgid "November 10, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2349 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2369 #, 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:2350 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2370 #, no-wrap msgid "1201502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2351 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2371 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354613[354613]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2352 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3460 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3465 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3470 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2372 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3480 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3485 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3490 #, no-wrap msgid "November 11, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2354 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2374 #, 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:2355 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2375 #, no-wrap msgid "1201503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2356 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2376 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354928[354928]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2359 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2379 #, 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:2360 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2380 #, no-wrap msgid "1201504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2364 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2384 #, 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:2365 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2385 #, no-wrap msgid "1201505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2366 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3474 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2386 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3494 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/355899[355899]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2367 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3475 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2387 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3495 #, no-wrap msgid "December 19, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2369 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2389 #, 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:2370 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2390 #, no-wrap msgid "1201506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2371 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2391 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/355968[355968]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2372 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2392 #, no-wrap msgid "December 21, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2374 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2394 #, 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:2375 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2395 #, no-wrap msgid "1201507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2376 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2396 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356306[356306]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2379 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2399 #, 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:2380 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2400 #, no-wrap msgid "1201508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2381 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2401 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356394[356394]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2384 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2404 #, 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:2385 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2405 #, no-wrap msgid "1201509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2386 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2406 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356460[356460]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2387 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2407 #, no-wrap msgid "January 7, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2389 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2409 #, 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:2390 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2410 #, no-wrap msgid "1201510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2391 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2411 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356679[356679]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2392 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3485 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4260 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2412 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3505 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4280 #, no-wrap msgid "January 13, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2394 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2414 #, 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:2395 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2415 #, no-wrap msgid "1201511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2396 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2416 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/357333[357333]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2397 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2417 #, no-wrap msgid "January 31, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2399 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2419 #, 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:2400 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2420 #, no-wrap msgid "1201512" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2401 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2421 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/357612[357612]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2402 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3490 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2422 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3510 #, no-wrap msgid "February 6, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2404 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2424 #, no-wrap msgid "12-STABLE after recent LinuxKPI changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2405 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2425 #, no-wrap msgid "1201513" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2406 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2426 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/359957[359957]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2407 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3495 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2427 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3515 #, no-wrap msgid "April 15, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2409 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2429 #, 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:2410 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2430 #, no-wrap msgid "1201514" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2411 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2431 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/360525[360525]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2412 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2417 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2432 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2437 #, no-wrap msgid "May 1, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2414 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2434 #, 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:2415 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2435 #, no-wrap msgid "1201515" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2416 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2436 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/360545[360545]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2419 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2439 #, 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:2420 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2440 #, no-wrap msgid "1201516" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2421 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2441 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/360620[360620]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2422 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2442 #, no-wrap msgid "May 4, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2424 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2444 #, 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:2425 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2445 #, no-wrap msgid "1201517" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2426 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2446 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/361350[361350]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2427 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2447 #, no-wrap msgid "May 21, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2429 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2449 #, 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:2430 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2450 #, no-wrap msgid "1201518" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2431 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2451 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/362319[362319]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2432 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3525 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2452 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3545 #, no-wrap msgid "June 18, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2434 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2454 #, 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:2435 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2455 #, no-wrap msgid "1201519" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2436 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2456 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/362916[362916]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2437 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3530 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2457 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3550 #, no-wrap msgid "July 4, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2439 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2459 #, 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:2440 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2460 #, no-wrap msgid "1201520" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2441 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2461 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/363494[363494]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2442 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3535 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2462 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3555 #, no-wrap msgid "July 24, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2444 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2464 #, 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:2445 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2465 #, no-wrap msgid "1201521" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2446 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2466 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/363790[363790]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2447 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3540 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2467 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3560 #, no-wrap msgid "August 3, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2449 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2469 #, 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:2450 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2470 #, no-wrap msgid "1201522" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2451 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2471 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/363832[363832]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2452 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2472 #, no-wrap msgid "August 4, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2454 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2474 #, no-wrap msgid "12-STABLE after adding sysctlbyname system call." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2455 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2475 #, no-wrap msgid "1201523" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2456 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2476 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364390[364390]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2457 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3545 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2477 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3565 #, no-wrap msgid "August 19, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2459 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2479 #, 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:2460 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2480 #, no-wrap msgid "1201524" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2461 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2481 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/365356[365356]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2462 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2482 #, no-wrap msgid "September 5, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2464 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2484 #, 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:2465 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2485 #, no-wrap msgid "1201525" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2466 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3549 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2486 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3569 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/365471[365471]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2469 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2534 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2489 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2554 #, 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:2470 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2490 #, no-wrap msgid "1201526" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2471 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2491 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/365608[365608]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2472 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2492 #, no-wrap msgid "September 10, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2474 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2494 #, 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:2475 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2495 #, no-wrap msgid "1202000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2476 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2496 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/365618[365618]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2477 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2482 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2497 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2502 #, no-wrap msgid "September 11, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2479 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2499 #, no-wrap msgid "releng/12.2 branched from stable/12@r365618." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2480 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2500 #, no-wrap msgid "1202500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2481 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2501 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/365619[365619]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2484 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2504 #, no-wrap msgid "12-STABLE after branching releng/12.2." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2485 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2505 #, no-wrap msgid "1202501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2486 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3554 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2506 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3574 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/365661[365661]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2487 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3555 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2507 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3575 #, no-wrap msgid "September 12, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2489 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2509 #, no-wrap msgid "12-STABLE after followup commits to libcompiler_rt." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2490 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2510 #, no-wrap msgid "1202502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2491 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2511 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/365816[365816]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2492 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2512 #, no-wrap msgid "September 16, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2494 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2514 #, 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:2495 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2515 #, no-wrap msgid "1202503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2496 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2516 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366878[366878]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2499 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2519 #, 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:2500 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2520 #, no-wrap msgid "1202504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2501 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2521 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/367511[367511]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2504 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2524 #, 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:2505 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2525 #, no-wrap msgid "1202505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2506 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2526 #, no-wrap msgid "gitref:f3d75bed5475b15f21edf4052665b1212b548bd0[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2507 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2527 #, no-wrap msgid "December 28, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2509 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2529 #, 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:2510 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2530 #, no-wrap msgid "1202506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2511 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2531 #, no-wrap msgid "gitref:d36cc12ddfe3335ec8306bd4b393f11069551fa0[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2514 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2534 #, 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:2515 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2535 #, no-wrap msgid "1202507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2516 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2536 #, no-wrap msgid "gitref:1e279fe9deaea1c5e3503117dd3077dcffb1276d[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2519 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2539 #, 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:2520 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2540 #, no-wrap msgid "1202508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2521 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2541 #, no-wrap msgid "gitref:489236b0474857b0a7a2df77c302290e12be9e7b[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2524 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2544 #, 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:2525 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2545 #, no-wrap msgid "1203500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2526 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2546 #, no-wrap msgid "gitref:f2900e784cb024e55ec0f5cd6834af5fadcb9f9a[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2527 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2547 #, no-wrap msgid "October 20, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2529 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2549 #, no-wrap msgid "12-STABLE after branching releng/12.3." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2530 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2550 #, no-wrap msgid "1203501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2531 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2551 #, no-wrap msgid "gitref:b148c7b87148b653fdbef9c5aa591b9abcd99e26[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2532 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2537 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2552 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2557 #, no-wrap msgid "December 22, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2535 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2555 #, no-wrap msgid "1203502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2536 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2556 #, no-wrap msgid "gitref:4772e4135cb3fe7f25531894f3b02f35ec086bda[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2539 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2559 #, 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:2540 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2560 #, no-wrap msgid "1203503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2541 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2561 #, no-wrap msgid "gitref:e405b2dc913c99189aa9b923ed686a790253cc7e[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2542 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2547 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2552 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2562 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2567 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2572 #, no-wrap msgid "December 25, 2021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2544 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2564 #, 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:2545 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2565 #, no-wrap msgid "1203504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2546 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2566 #, no-wrap msgid "gitref:1a398266112e73f91a4f2e2701ceefd3f2948aac[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2549 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2569 #, 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:2550 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2570 #, no-wrap msgid "1203505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2551 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2571 #, no-wrap msgid "gitref:0b7be89b329e0f862c25f34abfb13c75a4d45f2a[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2554 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2574 #, 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:2555 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2575 #, no-wrap msgid "1203506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2556 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2576 #, no-wrap msgid "gitref:f591279d9c93bc2ea9cd1a447c2df11d437fbc7b[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2557 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2577 #, no-wrap msgid "February 12, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2559 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2579 #, no-wrap msgid "12-STABLE after restoring availability tradeoff of random(4)." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2560 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2580 #, no-wrap msgid "1203507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2561 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2581 #, no-wrap msgid "gitref:180d95e04e938328de8f2a24d16fdb5049e15262[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2562 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2582 #, no-wrap msgid "April 9, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2564 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2584 #, no-wrap msgid "12-STABLE after zlib unification." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2565 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2585 #, no-wrap msgid "1203508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2566 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2586 #, no-wrap msgid "gitref:6c717a28505d3e77a0c3780ca1f65eb85b538eb9[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2569 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2589 #, 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:2570 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2590 #, no-wrap msgid "1204000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2571 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2591 #, no-wrap msgid "gitref:fce871fe35204527a2ce08e43e1572ae9295cc00[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2572 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2577 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2592 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2597 #, no-wrap msgid "October 20, 2022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2574 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2594 #, no-wrap msgid "releng/12.4 branched from stable/12." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2575 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2595 #, no-wrap msgid "1204500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2576 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2596 #, no-wrap msgid "gitref:6a9031c5e2ba5435aa4ea08ee05c351d5bef035d[repository=\"src\",length=12]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2579 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2599 #, 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:2591 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2611 #, no-wrap msgid "FreeBSD 11 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2594 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2614 #, no-wrap msgid "FreeBSD 11 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2603 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2623 #, no-wrap msgid "1100000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2604 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2624 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/256284[256284]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2605 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3878 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2625 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3898 #, no-wrap msgid "October 10, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2607 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2627 #, no-wrap msgid "11.0-CURRENT." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2608 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2628 #, no-wrap msgid "1100001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2609 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2629 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/256776[256776]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2610 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2630 #, no-wrap msgid "October 19, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2612 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2632 #, 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:2613 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2633 #, no-wrap msgid "1100002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2614 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2634 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/257696[257696]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2615 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2635 #, no-wrap msgid "November 5, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2617 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2637 #, no-wrap msgid "11.0-CURRENT after dropping support for historic ioctls." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2618 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2638 #, no-wrap msgid "1100003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2619 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2639 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/258284[258284]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2620 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2640 #, no-wrap msgid "November 17, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2622 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2642 #, no-wrap msgid "11.0-CURRENT after iconv changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2623 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2643 #, no-wrap msgid "1100004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2624 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2644 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/259424[259424]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2625 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3903 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2645 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3923 #, no-wrap msgid "December 15, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2627 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2647 #, 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:2628 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2648 #, no-wrap msgid "1100005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2629 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2649 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/260010[260010]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2630 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2650 #, no-wrap msgid "December 28, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2632 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2652 #, 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:2633 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2653 #, no-wrap msgid "1100006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2634 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2654 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/261246[261246]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2635 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2655 #, no-wrap msgid "January 28, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2637 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2657 #, no-wrap msgid "11.0-CURRENT after upgrades of libelf and libdwarf." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2638 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2658 #, no-wrap msgid "1100007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2639 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2659 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/261283[261283]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2640 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2660 #, no-wrap msgid "January 30, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2642 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2662 #, 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:2643 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2663 #, no-wrap msgid "1100008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2644 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2664 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/261881[261881]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2645 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2665 #, no-wrap msgid "February 14, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2647 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2667 #, 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:2648 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2668 #, no-wrap msgid "1100009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2649 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2669 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/261991[261991]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2650 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2670 #, no-wrap msgid "February 16, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2652 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2672 #, 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:2653 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2673 #, no-wrap msgid "1100010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2654 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2674 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/262630[262630]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2655 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2675 #, no-wrap msgid "February 28, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2657 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2677 #, 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:2658 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2678 #, no-wrap msgid "1100011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2659 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2679 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/263102[263102]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2660 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2680 #, no-wrap msgid "March 13, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2662 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2682 #, 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:2663 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2683 #, no-wrap msgid "1100012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2664 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2684 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/263140[263140]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2665 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2670 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4618 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2685 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2690 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4638 #, no-wrap msgid "March 14, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2667 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2687 #, 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:2668 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2688 #, no-wrap msgid "1100013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2669 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2689 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/263152[263152]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2672 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2692 #, no-wrap msgid "11.0-CURRENT after removal of AppleTalk protocol support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2673 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2693 #, no-wrap msgid "1100014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2674 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2694 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/263235[263235]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2675 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2695 #, no-wrap msgid "March 16, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2677 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2697 #, no-wrap msgid "11.0-CURRENT after renaming [.filename]## to [.filename]## 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:2678 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2698 #, no-wrap msgid "1100015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2679 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2699 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/263620[263620]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2680 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2700 #, no-wrap msgid "March 22, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2682 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2702 #, no-wrap msgid "11.0-CURRENT after `cnt` rename to `vm_cnt`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2683 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2703 #, no-wrap msgid "1100016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2684 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2704 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/263660[263660]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2685 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2705 #, no-wrap msgid "March 23, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2687 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2707 #, no-wrap msgid "11.0-CURRENT after addition of `armv6hf TARGET_ARCH`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2688 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2708 #, no-wrap msgid "1100017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2689 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2709 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/264121[264121]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2690 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2710 #, no-wrap msgid "April 4, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2692 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2712 #, no-wrap msgid "11.0-CURRENT after GCC support for `__block` definition." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2693 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2713 #, no-wrap msgid "1100018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2694 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2714 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/264212[264212]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2695 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3928 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2715 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3948 #, no-wrap msgid "April 6, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2697 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2717 #, 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:2698 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2718 #, no-wrap msgid "1100019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2699 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3932 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4632 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2719 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3952 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4652 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/264289[264289]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2700 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3933 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2720 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3953 #, no-wrap msgid "April 8, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2702 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2722 #, 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:2703 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2723 #, no-wrap msgid "1100020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2704 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2724 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/265215[265215]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2705 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2725 #, no-wrap msgid "May 1, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2707 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2727 #, 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:2708 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2728 #, no-wrap msgid "1100021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2709 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2729 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/266151[266151]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2710 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2730 #, no-wrap msgid "May 6, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2712 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2732 #, 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:2713 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2733 #, no-wrap msgid "1100022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2714 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2734 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/266904[266904]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2715 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2735 #, no-wrap msgid "May 30, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2717 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2737 #, no-wrap msgid "11.0-CURRENT after changes to man:strcasecmp[3], moving man:strcasecmp_l[3] and man:strncasecmp_l[3] from [.filename]## to [.filename]## 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:2718 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2738 #, no-wrap msgid "1100023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2719 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2739 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/267440[267440]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2720 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3948 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2740 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3968 #, no-wrap msgid "June 13, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2722 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2742 #, 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:2723 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2743 #, no-wrap msgid "1100024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2724 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2744 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/267992[267992]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2725 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2745 #, no-wrap msgid "June 27, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2727 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2747 #, no-wrap msgid "11.0-CURRENT after man:sysctl[3] API change." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2728 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2748 #, no-wrap msgid "1100025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2729 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2749 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/268066[268066]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2730 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2750 #, no-wrap msgid "June 30, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2732 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2752 #, 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:2733 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2753 #, no-wrap msgid "1100026" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2734 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2754 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/268118[268118]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2735 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2755 #, no-wrap msgid "July 1, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2737 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2757 #, 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:2738 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2758 #, no-wrap msgid "1100027" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2739 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2759 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/268441[268441]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2740 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3953 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4653 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2760 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3973 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4673 #, no-wrap msgid "July 8, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2742 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2762 #, 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:2743 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2763 #, no-wrap msgid "1100028" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2744 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2764 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/268945[268945]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2745 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2765 #, no-wrap msgid "July 21, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2747 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2767 #, 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:2748 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2768 #, no-wrap msgid "1100029" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2749 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2769 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/270173[270173]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2750 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3963 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3968 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2770 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3983 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3988 #, no-wrap msgid "August 3, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2752 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2772 #, 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:2753 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2773 #, no-wrap msgid "1100030" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2754 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2774 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/270929[270929]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2755 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2775 #, no-wrap msgid "September 1, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2757 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2777 #, 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:2758 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2778 #, no-wrap msgid "1100031" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2759 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3972 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4662 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5452 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2779 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3992 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4682 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5472 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/271341[271341]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2760 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2770 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3973 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4663 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5453 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2780 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2790 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3993 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4683 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5473 #, no-wrap msgid "September 9, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2762 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2782 #, 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:2763 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2783 #, no-wrap msgid "1100032" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2764 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2784 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/271438[271438]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2765 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2785 #, no-wrap msgid "September 11, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2767 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2787 #, 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:2768 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2788 #, no-wrap msgid "1100033" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2769 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2789 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/271657[271657]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2772 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2792 #, 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:2773 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2793 #, no-wrap msgid "1100034" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2774 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3977 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4667 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5457 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2794 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3997 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4687 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5477 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/271686[271686]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2775 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3978 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4668 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5458 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2795 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3998 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4688 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5478 #, no-wrap msgid "September 16, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2777 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2797 #, 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:2778 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2798 #, no-wrap msgid "1100035" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2779 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2799 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/271705[271705]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2780 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2785 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2800 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2805 #, no-wrap msgid "September 17, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2782 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2802 #, no-wrap msgid "11.0-CURRENT after i915 HW context support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2783 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2803 #, no-wrap msgid "1100036" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2784 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2804 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/271724[271724]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2787 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2807 #, 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:2788 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2808 #, no-wrap msgid "1100037" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2789 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2809 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/272674[272674]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2790 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2810 #, no-wrap msgid "October 6, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2792 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2812 #, 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:2793 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2813 #, no-wrap msgid "1100038" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2794 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2814 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/272951[272951]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2795 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2815 #, no-wrap msgid "October 11, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2797 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2817 #, no-wrap msgid "11.0-CURRENT after cleanup of TCP wrapper headers." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2798 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2818 #, no-wrap msgid "1100039" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2799 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2819 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/273250[273250]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2800 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2820 #, no-wrap msgid "October 18, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2802 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2822 #, 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:2803 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2823 #, no-wrap msgid "1100040" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2804 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3997 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4672 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5462 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2824 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4017 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4692 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5482 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/273432[273432]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2805 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3998 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4673 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5463 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2825 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4018 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4693 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5483 #, no-wrap msgid "October 21, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2807 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2827 #, 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:2808 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2828 #, no-wrap msgid "1100041" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2809 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2829 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/273875[273875]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2810 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2830 #, no-wrap msgid "October 30, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2812 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2832 #, 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:2813 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2833 #, no-wrap msgid "1100042" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2814 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2834 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/274046[274046]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2815 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2835 #, no-wrap msgid "November 3, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2817 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2837 #, no-wrap msgid "11.0-CURRENT after a change to `struct tcpcb`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2818 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2838 #, no-wrap msgid "1100043" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2819 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2839 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/274085[274085]" 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:2830 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4003 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4678 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5468 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2840 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2845 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2850 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4023 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4698 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5488 #, no-wrap msgid "November 4, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2822 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2842 #, 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:2823 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2843 #, no-wrap msgid "1100044" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2824 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2844 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/274116[274116]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2827 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2847 #, 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:2828 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2848 #, no-wrap msgid "1100045" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2829 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4002 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4677 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5467 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2849 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4022 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4697 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5487 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/274162[274162]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2832 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2852 #, 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:2833 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2853 #, no-wrap msgid "1100046" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2834 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2854 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/274470[274470]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2835 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2840 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2855 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2860 #, no-wrap msgid "November 13, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2837 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2857 #, 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:2838 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2858 #, no-wrap msgid "1100047" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2839 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2859 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/274476[274476]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2842 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2862 #, 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:2843 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2863 #, no-wrap msgid "1100048" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2844 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2864 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/275358[275358]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2845 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2865 #, no-wrap msgid "December 1, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2847 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2867 #, 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:2848 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2868 #, no-wrap msgid "1100049" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2849 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2869 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/275633[275633]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2850 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2870 #, no-wrap msgid "December 9, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2852 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2872 #, 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:2853 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2873 #, no-wrap msgid "1100050" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2854 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2874 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/275732[275732]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2855 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2875 #, no-wrap msgid "December 12, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2857 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2877 #, 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:2858 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2878 #, no-wrap msgid "1100051" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2859 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2879 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/276096[276096]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2860 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2880 #, no-wrap msgid "December 23, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2862 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2882 #, 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:2863 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2883 #, no-wrap msgid "1100052" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2864 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2884 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/276479[276479]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2865 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2885 #, no-wrap msgid "December 31, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2867 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2887 #, 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:2868 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2888 #, no-wrap msgid "1100053" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2869 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2889 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/276781[276781]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2870 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2890 #, no-wrap msgid "January 7, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2872 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2892 #, 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:2873 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2893 #, no-wrap msgid "1100054" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2874 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2894 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/277213[277213]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2875 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2895 #, no-wrap msgid "January 15, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2877 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2897 #, no-wrap msgid "11.0-CURRENT after rewrite of callout subsystem." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2878 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2898 #, no-wrap msgid "1100055" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2879 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2899 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/277528[277528]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2880 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2900 #, no-wrap msgid "January 22, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2882 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2902 #, 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:2883 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2903 #, no-wrap msgid "1100056" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2884 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2904 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/277610[277610]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2885 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2905 #, no-wrap msgid "January 23, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2887 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2907 #, 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:2888 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2908 #, no-wrap msgid "1100057" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2889 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2909 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/277897[277897]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2890 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2910 #, no-wrap msgid "January 29, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2892 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2912 #, no-wrap msgid "11.0-CURRENT after removal of `d_thread_t`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2893 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2913 #, no-wrap msgid "1100058" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2894 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2914 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/278228[278228]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2895 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2915 #, no-wrap msgid "February 5, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2897 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2917 #, 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:2898 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2918 #, no-wrap msgid "1100059" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2899 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2919 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/278442[278442]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2900 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2920 #, no-wrap msgid "February 9, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2902 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2922 #, 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:2903 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2923 #, no-wrap msgid "1100060" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2904 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2924 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/278846[278846]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2905 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2925 #, no-wrap msgid "February 16, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2907 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2927 #, 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:2908 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2928 #, no-wrap msgid "1100061" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2909 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2929 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/278964[278964]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2910 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4033 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2930 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4053 #, no-wrap msgid "February 18, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2912 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2932 #, no-wrap msgid "11.0-CURRENT after `CDAI_FLAG_NONE` addition." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2913 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2933 #, no-wrap msgid "1100062" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2914 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2934 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/279221[279221]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2915 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2935 #, no-wrap msgid "February 23, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2917 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2937 #, 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:2918 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2938 #, no-wrap msgid "1100063" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2919 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2939 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/279728[279728]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2920 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2925 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2940 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2945 #, no-wrap msgid "March 7, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2922 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2942 #, 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:2923 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2943 #, no-wrap msgid "1100064" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2924 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2944 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/279729[279729]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2927 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2947 #, 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:2928 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2948 #, no-wrap msgid "1100065" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2929 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2949 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/280031[280031]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2930 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2950 #, no-wrap msgid "March 15, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2932 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2952 #, 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:2933 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2953 #, no-wrap msgid "1100066" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2934 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2954 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/280306[280306]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2935 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2955 #, no-wrap msgid "March 20, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2937 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2957 #, 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:2938 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2958 #, no-wrap msgid "1100067" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2939 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2959 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/280630[280630]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2940 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2960 #, no-wrap msgid "March 25, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2942 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2962 #, 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:2943 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2963 #, no-wrap msgid "1100068" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2944 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2964 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/281172[281172]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2945 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2965 #, no-wrap msgid "April 6, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2947 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2967 #, 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:2948 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2968 #, no-wrap msgid "1100069" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2949 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2969 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/281550[281550]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2950 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2970 #, no-wrap msgid "April 15, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2952 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2972 #, 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:2953 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2973 #, no-wrap msgid "1100070" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2954 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2974 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/281613[281613]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2955 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2975 #, no-wrap msgid "April 16, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2957 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2977 #, 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:2958 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2978 #, no-wrap msgid "1100071" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2959 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2979 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/282256[282256]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2960 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2980 #, no-wrap msgid "April 29, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2962 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2982 #, 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:2963 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2983 #, no-wrap msgid "1100072" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2964 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2984 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/282319[282319]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2965 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2985 #, no-wrap msgid "May 1, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2967 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2987 #, 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:2968 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2988 #, no-wrap msgid "1100073" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2969 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2989 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/282650[282650]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2970 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2990 #, no-wrap msgid "May 8, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2972 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2992 #, 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:2973 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2993 #, no-wrap msgid "1100074" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2974 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2994 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/283526[283526]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2975 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2995 #, no-wrap msgid "May 25, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2977 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2997 #, 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:2978 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2998 #, no-wrap msgid "1100075" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2979 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2999 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/283623[283623]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2980 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3000 #, no-wrap msgid "May 27, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2982 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3002 #, 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:2983 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3003 #, no-wrap msgid "1100076" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2984 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3004 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/283983[283983]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2985 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3005 #, no-wrap msgid "June 4, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2987 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3007 #, 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:2988 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3008 #, no-wrap msgid "1100077" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2989 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3009 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/284233[284233]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2990 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4085 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3010 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4105 #, no-wrap msgid "June 10, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2992 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3012 #, 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:2993 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3013 #, no-wrap msgid "1100078" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2994 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3014 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/286672[286672]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2995 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3210 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3015 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3230 #, no-wrap msgid "August 12, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2997 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3017 #, 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:2998 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3018 #, no-wrap msgid "1100079" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:2999 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3019 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/286874[286874]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3000 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3020 #, no-wrap msgid "August 18, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3002 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3022 #, 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:3003 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3023 #, no-wrap msgid "1100080" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3004 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3024 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/288943[288943]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3005 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3025 #, no-wrap msgid "October 5, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3007 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3027 #, 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:3008 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3028 #, no-wrap msgid "1100081" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3009 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3029 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/289415[289415]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3010 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3030 #, no-wrap msgid "October 16, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3012 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3032 #, 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:3013 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3033 #, no-wrap msgid "1100082" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3014 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3034 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/289594[289594]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3015 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3035 #, no-wrap msgid "October 19, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3017 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3037 #, no-wrap msgid "11.0-CURRENT after Linux KPI updates." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3018 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3038 #, no-wrap msgid "1100083" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3019 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3039 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/289749[289749]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3020 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3040 #, no-wrap msgid "October 22, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3022 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3042 #, 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:3023 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3043 #, no-wrap msgid "1100084" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3024 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3044 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/290135[290135]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3025 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3045 #, no-wrap msgid "October 29, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3027 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3047 #, 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:3028 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3048 #, no-wrap msgid "1100085" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3029 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3049 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/290207[290207]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3030 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3050 #, no-wrap msgid "October 30, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3032 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3052 #, 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:3033 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3053 #, no-wrap msgid "1100086" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3034 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3054 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/290275[290275]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3035 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3055 #, no-wrap msgid "November 2, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3037 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3057 #, 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:3038 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3058 #, no-wrap msgid "1100087" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3039 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3059 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/290479[290479]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3040 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3045 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3050 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3060 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3065 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3070 #, no-wrap msgid "November 7, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3042 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3062 #, 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:3043 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3063 #, no-wrap msgid "1100088" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3044 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3064 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/290495[290495]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3047 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3067 #, no-wrap msgid "11.0-CURRENT after string collation and locales rework." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3048 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3068 #, no-wrap msgid "1100089" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3049 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3069 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/290505[290505]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3052 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3072 #, 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:3053 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3073 #, no-wrap msgid "1100090" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3054 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3074 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/290715[290715]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3055 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3075 #, no-wrap msgid "November 10, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3057 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3077 #, 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:3058 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3078 #, no-wrap msgid "1100091" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3059 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3079 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/291537[291537]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3060 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3080 #, no-wrap msgid "November 30, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3062 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3082 #, 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:3063 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3083 #, no-wrap msgid "1100092" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3064 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3084 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/292499[292499]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3065 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3085 #, no-wrap msgid "December 19, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3067 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3087 #, 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:3068 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3088 #, no-wrap msgid "1100093" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3069 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3089 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/292966[292966]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3070 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4125 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3090 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4145 #, no-wrap msgid "December 30, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3072 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3092 #, 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:3073 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3093 #, no-wrap msgid "1100094" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3074 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3094 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/294086[294086]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3075 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3095 #, no-wrap msgid "January 15, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3077 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3097 #, 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:3078 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3098 #, no-wrap msgid "1100095" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3079 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3099 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/294327[294327]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3080 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3100 #, no-wrap msgid "January 19, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3082 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3102 #, no-wrap msgid "11.0-CURRENT after LRO optimizations." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3083 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3103 #, no-wrap msgid "1100096" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3084 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3104 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/294505[294505]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3085 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3105 #, no-wrap msgid "January 21, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3087 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3107 #, no-wrap msgid "11.0-CURRENT after LinuxKPI idr_* additions." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3088 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3108 #, no-wrap msgid "1100097" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3089 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3109 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/294860[294860]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3090 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3110 #, no-wrap msgid "January 26, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3092 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3112 #, 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:3093 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3113 #, no-wrap msgid "1100098" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3094 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3114 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/295682[295682]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3095 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3115 #, no-wrap msgid "February 16, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3097 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3117 #, 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:3098 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3118 #, no-wrap msgid "1100099" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3099 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3119 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/295739[295739]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3100 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3120 #, no-wrap msgid "February 18, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3102 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3122 #, 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:3103 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3123 #, no-wrap msgid "1100100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3104 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3124 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/296136[296136]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3105 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3125 #, no-wrap msgid "February 26, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3107 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3127 #, 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:3108 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3128 #, no-wrap msgid "1100101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3109 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3129 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/296417[296417]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3110 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3130 #, no-wrap msgid "March 5, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3112 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3132 #, 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:3113 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3133 #, no-wrap msgid "1100102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3114 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3134 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/296749[296749]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3115 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3135 #, no-wrap msgid "March 12, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3117 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3137 #, 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:3118 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3138 #, no-wrap msgid "1100103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3119 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3139 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/297000[297000]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3120 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3140 #, no-wrap msgid "March 18, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3122 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3142 #, 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:3123 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3143 #, no-wrap msgid "1100104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3124 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3144 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/297156[297156]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3125 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3145 #, no-wrap msgid "March 21, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3127 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3147 #, 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:3128 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3148 #, no-wrap msgid "1100105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3129 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3149 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/297602[297602]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3130 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3150 #, no-wrap msgid "April 6, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3132 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3152 #, 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:3133 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3153 #, no-wrap msgid "1100106" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3134 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3154 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/298486[298486]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3135 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3155 #, no-wrap msgid "April 22, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3137 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3157 #, 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:3138 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3158 #, no-wrap msgid "1100107" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3139 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3159 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/299090[299090]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3140 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3160 #, no-wrap msgid "May 4, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3142 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3162 #, 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:3143 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3163 #, no-wrap msgid "1100108" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3144 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3164 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/299530[299530]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3145 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3165 #, no-wrap msgid "May 12, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3147 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3167 #, 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:3148 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3168 #, no-wrap msgid "1100109" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3149 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3169 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/299933[299933]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3150 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3170 #, no-wrap msgid "May 16, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3152 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3172 #, 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:3153 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3173 #, no-wrap msgid "1100110" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3154 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3174 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/300207[300207]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3155 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4700 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3175 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4720 #, no-wrap msgid "May 19, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3157 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3177 #, 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:3158 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3178 #, no-wrap msgid "1100111" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3159 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3179 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/300303[300303]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3160 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3180 #, no-wrap msgid "May 20, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3162 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3182 #, 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:3163 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3183 #, no-wrap msgid "1100112" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3164 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3184 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/300539[300539]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3165 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3185 #, no-wrap msgid "May 23, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3167 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3187 #, 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:3168 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3188 #, no-wrap msgid "1100113" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3169 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3189 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/300701[300701]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3170 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3175 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3190 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3195 #, no-wrap msgid "May 26, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3172 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3192 #, no-wrap msgid "11.0-CURRENT after disabling alignment faults on armv6." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3173 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3193 #, no-wrap msgid "1100114" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3174 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3194 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/300806[300806]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3177 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3197 #, 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:3178 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3198 #, no-wrap msgid "1100115" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3179 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3199 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/300982[300982]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3180 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3200 #, no-wrap msgid "May 30, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3182 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3202 #, 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:3183 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3203 #, no-wrap msgid "1100116" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3184 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3204 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/301011[301011]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3185 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3205 #, no-wrap msgid "May 31, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3187 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3207 #, 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:3188 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3208 #, no-wrap msgid "1100117" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3189 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3209 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/301892[301892]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3190 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3210 #, no-wrap msgid "June 6, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3192 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3212 #, 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:3193 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3213 #, no-wrap msgid "1100118" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3194 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3214 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/302071[302071]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3195 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4175 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3215 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4195 #, no-wrap msgid "June 21, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3197 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3217 #, 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:3198 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3218 #, no-wrap msgid "1100119" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3199 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3219 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/302150[302150]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3200 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3205 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3220 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3225 #, no-wrap msgid "June 23, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3202 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3222 #, 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:3203 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3223 #, no-wrap msgid "1100120" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3204 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3224 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/302153[302153]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3207 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3227 #, no-wrap msgid "11.0-CURRENT after adding spares to struct ifnet." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3208 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3228 #, no-wrap msgid "1100121" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3209 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3214 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3229 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3234 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/303979[303979]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3212 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3232 #, 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:3213 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3233 #, no-wrap msgid "1100500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3215 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3235 #, no-wrap msgid "August 12, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3217 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3237 #, 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:3218 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3238 #, no-wrap msgid "1100501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3219 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3239 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/304609[304609]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3222 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3242 #, 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:3223 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3243 #, no-wrap msgid "1100502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3224 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3244 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/304865[304865]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3225 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4190 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3245 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4210 #, no-wrap msgid "August 26, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3227 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3247 #, no-wrap msgid "11.0-STABLE after `LC_*_MASK` fix." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3228 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3248 #, no-wrap msgid "1100503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3229 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3249 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/305733[305733]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3230 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4195 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4705 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5480 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3250 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4215 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4725 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5500 #, no-wrap msgid "September 12, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3232 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3252 #, 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:3233 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3253 #, no-wrap msgid "1100504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3234 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3254 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/307330[307330]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3235 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4200 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3255 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4220 #, no-wrap msgid "October 14, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3237 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3257 #, no-wrap msgid "11.0-STABLE after ZFS merges." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3238 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3258 #, no-wrap msgid "1100505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3239 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3259 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/307590[307590]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3240 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3260 #, no-wrap msgid "October 19, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3242 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3262 #, no-wrap msgid "11.0-STABLE after `struct fb_info` change." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3243 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3263 #, no-wrap msgid "1100506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3244 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3264 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/308048[308048]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3245 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4205 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3265 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4225 #, no-wrap msgid "October 28, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3247 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3267 #, 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:3248 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3268 #, no-wrap msgid "1100507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3249 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3269 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/310120[310120]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3250 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4210 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3270 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4230 #, no-wrap msgid "December 15, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3252 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3272 #, 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:3253 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3273 #, no-wrap msgid "1100508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3254 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3274 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/310618[310618]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3255 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3275 #, no-wrap msgid "December 26, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3257 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3277 #, 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:3258 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3278 #, no-wrap msgid "1100509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3259 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3279 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/311186[311186]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3260 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3280 #, no-wrap msgid "January 3, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3262 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3282 #, 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:3263 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3283 #, no-wrap msgid "1100510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3264 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3284 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/315312[315312]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3265 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3285 #, no-wrap msgid "March 15, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3267 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3287 #, 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:3268 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3288 #, no-wrap msgid "1100511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3269 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3289 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/316423[316423]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3270 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3290 #, no-wrap msgid "April 2, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3272 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3292 #, 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:3273 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3293 #, no-wrap msgid "1100512" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3274 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3294 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/316498[316498]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3275 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4220 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3295 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4240 #, no-wrap msgid "April 4, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3277 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3297 #, 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:3278 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3298 #, no-wrap msgid "1100513" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3279 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3299 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/318197[318197]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3280 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4225 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3300 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4245 #, no-wrap msgid "May 11, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3282 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3302 #, no-wrap msgid "11.0-STABLE after merging the addition of the [.filename]## header." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3283 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3303 #, no-wrap msgid "1100514" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3284 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3304 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/319279[319279]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3285 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3305 #, no-wrap msgid "May 31, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3287 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3307 #, 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:3288 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3308 #, no-wrap msgid "1101000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3289 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3309 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/320486[320486]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3290 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3295 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3300 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3310 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3315 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3320 #, no-wrap msgid "June 30, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3292 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3312 #, no-wrap msgid "`releng/11.1` branched from `stable/11`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3293 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3313 #, no-wrap msgid "1101001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3294 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3314 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/320763[320763]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3297 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3317 #, 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:3298 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3318 #, no-wrap msgid "1101500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3299 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3319 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/320487[320487]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3302 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3322 #, no-wrap msgid "11-STABLE after `releng/11.1` branched." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3303 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3323 #, no-wrap msgid "1101501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3304 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3324 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/320666[320666]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3305 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3325 #, no-wrap msgid "July 5, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3307 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3327 #, 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:3308 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3328 #, no-wrap msgid "1101502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3312 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3332 #, 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:3313 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3333 #, no-wrap msgid "1101503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3314 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3334 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/323431[323431]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3315 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3335 #, no-wrap msgid "September 11, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3317 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3337 #, 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:3318 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3338 #, no-wrap msgid "1101504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3319 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3339 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/324006[324006]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3322 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3342 #, 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:3323 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3343 #, no-wrap msgid "1101505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3324 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3344 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/324023[324023]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3327 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3347 #, 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:3328 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3348 #, no-wrap msgid "1101506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3329 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3349 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/325003[325003]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3330 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3350 #, no-wrap msgid "October 25, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3332 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3352 #, 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:3333 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3353 #, no-wrap msgid "1101507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3334 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4249 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3354 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4269 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/328379[328379]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3335 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3340 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4250 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3355 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3360 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4270 #, no-wrap msgid "January 24, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3337 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3357 #, 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:3338 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3358 #, no-wrap msgid "1101508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3339 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3359 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/328386[328386]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3342 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3362 #, 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:3343 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3363 #, no-wrap msgid "1101509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3344 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3364 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/328653[328653]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3345 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3365 #, no-wrap msgid "February 1, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3347 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3367 #, 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:3348 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3368 #, no-wrap msgid "1101510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3349 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3369 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/329450[329450]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3350 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3370 #, no-wrap msgid "February 17, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3352 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3372 #, 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:3353 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3373 #, no-wrap msgid "1101511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3354 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3374 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/329981[329981]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3355 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3375 #, no-wrap msgid "February 25, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3357 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3377 #, no-wrap msgid "11-STABLE after concluding the recent LinuxKPI related updates." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3358 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3378 #, no-wrap msgid "1101512" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3359 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3379 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/331219[331219]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3360 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3380 #, no-wrap msgid "March 19, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3362 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3382 #, 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:3363 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3383 #, no-wrap msgid "1101513" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3364 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3384 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/331838[331838]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3365 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3385 #, no-wrap msgid "March 31, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3367 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3387 #, 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:3368 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3388 #, no-wrap msgid "1101514" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3369 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3389 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/332089[332089]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3370 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3390 #, no-wrap msgid "April 5, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3372 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3392 #, 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:3373 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3393 #, no-wrap msgid "1101515" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3374 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3394 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/332363[332363]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3375 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3395 #, no-wrap msgid "April 10, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3377 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3397 #, 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:3378 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3398 #, no-wrap msgid "1101516" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3379 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3399 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/334392[334392]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3380 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3400 #, no-wrap msgid "May 30, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3382 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3402 #, no-wrap msgid "11-STABLE after man:dwatch[1] touch-ups." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3383 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3403 #, no-wrap msgid "1102000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3384 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3404 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/334459[334459]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3387 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3407 #, no-wrap msgid "`releng/11.2` branched from `stable/11`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3388 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3408 #, no-wrap msgid "1102500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3389 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3409 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/334461[334461]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3392 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3412 #, no-wrap msgid "11-STABLE after releng/11.2 branched." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3393 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3413 #, no-wrap msgid "1102501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3394 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3414 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/335436[335436]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3395 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3415 #, no-wrap msgid "June 20, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3397 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3417 #, 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:3398 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3418 #, no-wrap msgid "1102502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3399 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3419 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/338617[338617]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3400 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3420 #, no-wrap msgid "September 12, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3402 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3422 #, 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:3403 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3423 #, no-wrap msgid "1102503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3404 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3424 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/338931[338931]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3405 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3425 #, no-wrap msgid "September 25, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3407 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3427 #, 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:3408 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3428 #, no-wrap msgid "1102504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3409 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3429 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/340309[340309]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3410 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3430 #, no-wrap msgid "November 9, 2018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3412 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3432 #, 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:3413 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3433 #, no-wrap msgid "1102505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3414 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3434 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/342804[342804]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3417 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3437 #, 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:3418 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3438 #, no-wrap msgid "1102506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3419 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3439 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/344220[344220]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3420 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3440 #, no-wrap msgid "February 17, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3422 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3442 #, no-wrap msgid "11-STABLE after merging multiple commits to lualoader." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3423 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3443 #, no-wrap msgid "1102507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3424 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3444 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/346296[346296]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3427 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3447 #, 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:3428 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3448 #, no-wrap msgid "1102508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3432 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3452 #, no-wrap msgid "11-STABLE after `ether_gen_addr` availability." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3433 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3453 #, no-wrap msgid "1102509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3434 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3454 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347212[347212]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3437 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3457 #, 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:3438 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3458 #, no-wrap msgid "1102510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3439 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3459 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/347883[347883]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3442 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3462 #, 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:3443 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3463 #, no-wrap msgid "1103000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3444 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3464 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/349026[349026]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3445 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3450 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3465 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3470 #, no-wrap msgid "June 14, 2019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3447 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3467 #, no-wrap msgid "`releng/11.3` branched from `stable/11`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3448 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3468 #, no-wrap msgid "1103500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3449 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3469 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/349027[349027]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3452 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3472 #, no-wrap msgid "11-STABLE after releng/11.3 branched." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3453 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3473 #, no-wrap msgid "1103501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3457 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3477 #, 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:3458 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3478 #, no-wrap msgid "1103502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3459 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3479 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354614[354614]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3462 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3482 #, 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:3463 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3483 #, no-wrap msgid "1103503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3464 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3484 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354615[354615]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3467 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3487 #, no-wrap msgid "11-STABLE after LinuxKPI sysfs improvements." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3468 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3488 #, no-wrap msgid "1103504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3469 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3489 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/354616[354616]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3472 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3492 #, 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:3473 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3493 #, no-wrap msgid "1103505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3477 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3497 #, 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:3478 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3498 #, no-wrap msgid "1103506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3479 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3499 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356395[356395]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3482 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3502 #, 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:3483 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3503 #, no-wrap msgid "1103507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3484 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3504 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356680[356680]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3487 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3507 #, 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:3488 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3508 #, no-wrap msgid "1103508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3489 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3509 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/357613[357613]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3492 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3512 #, no-wrap msgid "11-STABLE after recent LinuxKPI changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3493 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3513 #, no-wrap msgid "1103509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3494 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3514 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/359958[359958]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3497 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3517 #, 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:3498 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3518 #, no-wrap msgid "1103510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3499 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3519 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/360658[360658]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3500 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3520 #, no-wrap msgid "May 5, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3502 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3522 #, 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:3503 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3523 #, no-wrap msgid "1103511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3504 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3524 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/360784[360784]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3507 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3527 #, 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:3508 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3528 #, no-wrap msgid "1104000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3509 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3529 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/360804[360804]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3510 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3515 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3520 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3530 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3535 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3540 #, no-wrap msgid "May 8, 2020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3512 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3532 #, no-wrap msgid "`releng/11.4` branched from `stable/11`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3513 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3533 #, no-wrap msgid "1104001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3514 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3534 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/360822[360822]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3517 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3537 #, 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:3518 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3538 #, no-wrap msgid "1104500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3519 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3539 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/360805[360805]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3522 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3542 #, no-wrap msgid "11-STABLE after releng/11.4 branched." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3523 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3543 #, no-wrap msgid "1104501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3524 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3544 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/362320[362320]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3527 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3547 #, 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:3528 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3548 #, no-wrap msgid "1104502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3529 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3549 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/362919[362919]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3532 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3552 #, 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:3533 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3553 #, no-wrap msgid "1104503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3534 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3554 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/363496[363496]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3537 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3557 #, 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:3538 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3558 #, no-wrap msgid "1104504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3539 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3559 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/363792[363792]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3542 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3562 #, 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:3543 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3563 #, no-wrap msgid "1104505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3544 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3564 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/364391[364391]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3547 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3567 #, 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:3548 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3568 #, no-wrap msgid "1104506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3552 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3572 #, 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:3553 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3573 #, no-wrap msgid "1104507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3557 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3577 #, no-wrap msgid "11-STABLE after followup commits to libcompiler_rt." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3558 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3578 #, no-wrap msgid "1104508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3559 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3579 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366879[366879]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3562 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3582 #, 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:3563 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3583 #, no-wrap msgid "1104509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3564 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3584 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/366889[366889]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3567 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3587 #, no-wrap msgid "11-STABLE after additions to LinuxKPI's `RCU` list." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3568 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3588 #, no-wrap msgid "1104510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3569 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3589 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/367513[367513]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3571 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3591 #, no-wrap msgid "11-STABLE after the addition of `ptsname_r`." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3574 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3594 #, no-wrap msgid "FreeBSD 10 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3577 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3597 #, no-wrap msgid "FreeBSD 10 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3586 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3606 #, no-wrap msgid "1000000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3587 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3607 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/225757[225757]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3588 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3608 #, no-wrap msgid "September 26, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3590 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3610 #, no-wrap msgid "10.0-CURRENT." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3591 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3611 #, no-wrap msgid "1000001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3592 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3612 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/227070[227070]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3593 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3613 #, no-wrap msgid "November 4, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3595 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3615 #, 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:3596 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3616 #, no-wrap msgid "1000002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3597 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3617 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/228444[228444]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3598 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3618 #, no-wrap msgid "December 12, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3600 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3620 #, 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:3601 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3621 #, no-wrap msgid "1000003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3602 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3622 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/228571[228571]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3603 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3623 #, no-wrap msgid "December 16, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3605 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3625 #, 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:3606 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3626 #, no-wrap msgid "1000004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3607 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3627 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/229204[229204]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3608 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3628 #, no-wrap msgid "January 1, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3610 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3630 #, 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:3611 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3631 #, no-wrap msgid "1000005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3612 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3632 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/230207[230207]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3613 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4518 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5403 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3633 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4538 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5423 #, no-wrap msgid "January 16, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3615 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3635 #, 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:3616 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3636 #, no-wrap msgid "1000006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3617 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3637 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/230590[230590]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3618 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3638 #, no-wrap msgid "January 26, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3620 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3640 #, 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:3621 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3641 #, no-wrap msgid "1000007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3622 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3642 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/231025[231025]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3623 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3643 #, no-wrap msgid "February 5, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3625 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3645 #, 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:3626 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3646 #, no-wrap msgid "1000008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3627 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3647 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/231505[231505]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3628 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3648 #, no-wrap msgid "February 11, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3630 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3650 #, 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:3631 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3651 #, no-wrap msgid "1000009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3632 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3652 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/232154[232154]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3633 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3653 #, no-wrap msgid "February 25, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3635 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3655 #, 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:3636 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3656 #, no-wrap msgid "1000010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3637 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3657 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/233757[233757]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3638 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3658 #, no-wrap msgid "March 31, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3640 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3660 #, no-wrap msgid "10-CURRENT after `xlocale` cleanup." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3641 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3661 #, no-wrap msgid "1000011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3642 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3662 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/234355[234355]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3643 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3663 #, no-wrap msgid "April 16, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3645 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3665 #, 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:3646 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3666 #, no-wrap msgid "1000012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3647 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3667 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/234924[234924]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3648 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3668 #, no-wrap msgid "May 2, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3650 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3670 #, no-wrap msgid "10-CURRENT jemalloc import." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3651 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3671 #, no-wrap msgid "1000013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3652 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3672 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/235788[235788]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3653 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4538 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3673 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4558 #, no-wrap msgid "May 22, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3655 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3675 #, no-wrap msgid "10-CURRENT after `byacc` import." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3656 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3676 #, no-wrap msgid "1000014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3657 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3677 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/237631[237631]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3658 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3678 #, no-wrap msgid "June 27, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3660 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3680 #, 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:3661 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3681 #, no-wrap msgid "1000015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3662 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3682 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/238405[238405]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3663 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3683 #, no-wrap msgid "July 12, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3665 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3685 #, no-wrap msgid "10-CURRENT after import of OpenSSL 1.0.1c." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3667 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3687 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/238429[238429]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3668 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3688 #, no-wrap msgid "July 13, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3670 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3690 #, 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:3671 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3691 #, no-wrap msgid "1000016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3672 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3692 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/239179[239179]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3673 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3678 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3693 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3698 #, no-wrap msgid "August 8, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3675 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3695 #, no-wrap msgid "10-CURRENT after KBI change in man:ucom[4]." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3676 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3696 #, no-wrap msgid "1000017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3677 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3697 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/239214[239214]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3680 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3700 #, 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:3681 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3701 #, no-wrap msgid "1000018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3682 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3702 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/240233[240233]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3683 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3703 #, no-wrap msgid "September 8, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3685 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3705 #, no-wrap msgid "10-CURRENT after major rewrite of man:pf[4]." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3686 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3706 #, no-wrap msgid "1000019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3687 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3707 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/241245[241245]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3688 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3708 #, no-wrap msgid "October 6, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3690 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3710 #, 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:3691 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3711 #, no-wrap msgid "1000020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3692 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3712 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/241610[241610]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3693 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3713 #, no-wrap msgid "October 16, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3695 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3715 #, 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:3696 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3716 #, no-wrap msgid "1000021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3697 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3717 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/241897[241897]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3698 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3703 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3718 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3723 #, no-wrap msgid "October 22, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3700 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3720 #, 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:3701 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3721 #, no-wrap msgid "1000022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3702 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3722 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/241913[241913]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3705 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3725 #, 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:3706 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3726 #, no-wrap msgid "1000023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3707 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3727 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/242619[242619]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3708 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3713 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3728 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3733 #, no-wrap msgid "November 5, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3710 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3730 #, 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:3711 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3731 #, no-wrap msgid "1000024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3712 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3732 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/242624[242624]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3715 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3735 #, 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:3716 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3736 #, no-wrap msgid "1000025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3717 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3737 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/243443[243443]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3718 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3738 #, no-wrap msgid "November 17, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3720 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3740 #, 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:3721 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3741 #, no-wrap msgid "1000026" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3722 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3742 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/245313[245313]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3723 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3743 #, no-wrap msgid "January 11, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3725 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3745 #, 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:3726 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3746 #, no-wrap msgid "1000027" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3727 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3747 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/246084[246084]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3728 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3748 #, no-wrap msgid "January 29, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3730 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3750 #, 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:3731 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3751 #, no-wrap msgid "1000028" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3732 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3752 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/246759[246759]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3733 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3753 #, no-wrap msgid "February 13, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3735 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3755 #, 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:3736 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3756 #, no-wrap msgid "1000029" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3737 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3757 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/247821[247821]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3738 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3758 #, no-wrap msgid "March 4, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3740 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3760 #, 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:3741 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3761 #, no-wrap msgid "1000030" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3742 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3762 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/248210[248210]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3743 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3763 #, no-wrap msgid "March 12, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3745 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3765 #, 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:3746 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3766 #, no-wrap msgid "1000031" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3747 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3767 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/249943[249943]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3748 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3768 #, no-wrap msgid "April 26, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3750 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3770 #, 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:3751 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3771 #, no-wrap msgid "1000032" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3752 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3772 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/250163[250163]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3753 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3773 #, no-wrap msgid "May 1, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3755 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3775 #, 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:3756 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3776 #, no-wrap msgid "1000033" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3757 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3777 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/250881[250881]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3758 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3778 #, no-wrap msgid "May 21, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3760 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3780 #, no-wrap msgid "10-CURRENT after flex 2.5.37 import." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3761 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3781 #, no-wrap msgid "1000034" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3762 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3782 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/251294[251294]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3763 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3783 #, no-wrap msgid "June 3, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3765 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3785 #, 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:3766 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3786 #, no-wrap msgid "1000035" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3767 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3787 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/251527[251527]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3768 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3788 #, no-wrap msgid "June 8, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3770 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3790 #, 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:3771 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3791 #, no-wrap msgid "1000036" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3772 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3792 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/253049[253049]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3773 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3778 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3793 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3798 #, no-wrap msgid "July 9, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3775 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3795 #, 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:3776 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3796 #, no-wrap msgid "1000037" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3777 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3797 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/253089[253089]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3780 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3800 #, 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:3781 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3801 #, no-wrap msgid "1000038" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3782 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3802 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/253396[253396]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3783 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3803 #, no-wrap msgid "July 16, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3785 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3805 #, 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:3786 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3806 #, no-wrap msgid "1000039" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3787 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3807 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/253549[253549]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3788 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3808 #, no-wrap msgid "July 22, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3790 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3810 #, 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:3791 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3811 #, no-wrap msgid "1000040" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3792 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3812 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/253638[253638]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3793 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3813 #, no-wrap msgid "July 24, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3795 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3815 #, no-wrap msgid "10-CURRENT after addition of libusb `pkgconf` files." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3796 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3816 #, no-wrap msgid "1000041" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3797 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3817 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/253970[253970]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3798 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3818 #, no-wrap msgid "August 5, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3800 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3820 #, 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:3801 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3821 #, no-wrap msgid "1000042" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3802 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3822 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254138[254138]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3803 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3823 #, no-wrap msgid "August 9, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3805 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3825 #, 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:3806 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3826 #, no-wrap msgid "1000043" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3807 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3827 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254273[254273]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3808 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3828 #, no-wrap msgid "August 13, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3810 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3830 #, 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:3811 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3831 #, no-wrap msgid "1000044" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3812 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3832 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254358[254358]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3813 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3818 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3833 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3838 #, no-wrap msgid "August 15, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3815 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3835 #, 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:3816 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3836 #, no-wrap msgid "1000045" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3817 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3837 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254389[254389]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3820 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3840 #, 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:3821 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3841 #, no-wrap msgid "1000046" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3822 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3842 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254537[254537]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3823 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3843 #, no-wrap msgid "August 19, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3823 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3843 #, 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:3823 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3843 #, no-wrap msgid "M_FIRSTFRAG\\" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3825 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3845 #, 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:3826 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3846 #, no-wrap msgid "1000047" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3827 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3847 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254627[254627]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3828 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3848 #, no-wrap msgid "August 21, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3830 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3850 #, 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:3831 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3851 #, no-wrap msgid "1000048" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3832 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3852 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254672[254672]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3833 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3853 #, no-wrap msgid "August 22, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3835 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3855 #, no-wrap msgid "10-CURRENT after modification of structure `xsctp_inpcb`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3836 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3856 #, no-wrap msgid "1000049" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3837 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3857 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254760[254760]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3838 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3843 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3858 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3863 #, no-wrap msgid "August 24, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3840 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3860 #, 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:3841 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3861 #, no-wrap msgid "1000050" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3842 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3862 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254844[254844]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3845 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3865 #, 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:3846 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3866 #, no-wrap msgid "1000051" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3847 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3867 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254887[254887]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3848 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3868 #, no-wrap msgid "August 25, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3850 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3870 #, 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:3851 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3871 #, no-wrap msgid "1000052" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3852 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3872 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/255180[255180]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3853 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3873 #, no-wrap msgid "September 3, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3855 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3875 #, 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:3856 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3876 #, no-wrap msgid "1000053" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3857 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3877 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/255305[255305]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3858 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3863 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3868 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3878 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3883 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3888 #, no-wrap msgid "September 6, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3860 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3880 #, 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:3861 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3881 #, no-wrap msgid "1000054" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3862 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3882 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/255321[255321]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3865 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3885 #, 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:3866 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3886 #, no-wrap msgid "1000055" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3867 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3887 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/255449[255449]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3870 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3890 #, 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:3871 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3891 #, no-wrap msgid "1000100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3872 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3892 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/259065[259065]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3873 #: documentation/content/en/books/porters-handbook/versions/_index.adoc:3893 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3898 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3913 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3918 #, no-wrap msgid "December 7, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3875 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3895 #, no-wrap msgid "`releng/10.0` branched from `stable/10`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3876 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3896 #, no-wrap msgid "1000500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3877 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3897 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/256283[256283]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3880 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3900 #, no-wrap msgid "10-STABLE after branch from `head/`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3881 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3901 #, no-wrap msgid "1000501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3882 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3902 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/256916[256916]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3883 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4598 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3903 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4618 #, no-wrap msgid "October 22, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3885 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3905 #, 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:3886 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3906 #, no-wrap msgid "1000502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3887 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3907 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/258398[258398]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3888 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3908 #, no-wrap msgid "November 20, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3890 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3910 #, 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:3891 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3911 #, no-wrap msgid "1000510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3892 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3912 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/259067[259067]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3895 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3915 #, 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:3896 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3916 #, no-wrap msgid "1000700" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3897 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3917 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/259069[259069]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3900 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3920 #, no-wrap msgid "10-STABLE after `releng/10.0` branch." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3901 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3921 #, no-wrap msgid "1000701" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3902 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3922 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/259447[259447]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3905 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3925 #, no-wrap msgid "10.0-STABLE after Heimdal encoding fix." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3906 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3926 #, no-wrap msgid "1000702" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3907 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3927 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/260135[260135]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3908 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4608 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3928 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4628 #, no-wrap msgid "December 31, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3910 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3930 #, no-wrap msgid "10-STABLE after MAP_STACK fixes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3911 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3931 #, no-wrap msgid "1000703" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3912 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4612 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3932 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4632 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/262801[262801]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3913 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4613 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3933 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4633 #, no-wrap msgid "March 5, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3915 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3935 #, 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:3916 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3936 #, no-wrap msgid "1000704" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3917 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3937 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/262889[262889]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3918 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3938 #, no-wrap msgid "March 7, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3920 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3940 #, 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:3921 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3941 #, no-wrap msgid "1000705" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3922 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3942 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/263508[263508]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3923 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4623 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3943 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4643 #, no-wrap msgid "March 21, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3925 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3945 #, 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:3926 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3946 #, no-wrap msgid "1000706" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3927 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3947 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/264214[264214]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3930 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3950 #, no-wrap msgid "10-STABLE after GCC support for `__block` definition." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3931 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3951 #, no-wrap msgid "1000707" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3935 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3955 #, no-wrap msgid "10-STABLE after FreeBSD-SA-14:06.openssl." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3936 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3956 #, no-wrap msgid "1000708" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3937 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3957 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/265122[265122]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3938 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4638 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5443 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3958 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4658 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5463 #, no-wrap msgid "April 30, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3940 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3960 #, 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:3941 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3961 #, no-wrap msgid "1000709" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3942 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3962 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/265946[265946]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3943 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3963 #, no-wrap msgid "May 13, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3945 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3965 #, 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:3946 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3966 #, no-wrap msgid "1000710" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3947 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3967 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/267465[267465]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3950 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3970 #, no-wrap msgid "10-STABLE after changes to man:strcasecmp[3], moving man:strcasecmp_l[3] and man:strncasecmp_l[3] from [.filename]## to [.filename]## for POSIX 2008 compliance." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3951 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3971 #, no-wrap msgid "1000711" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3952 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3972 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/268442[268442]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3955 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3975 #, 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:3956 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3976 #, no-wrap msgid "1000712" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3957 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3977 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/269400[269400]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3958 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3978 #, no-wrap msgid "August 1, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3960 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3980 #, 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:3961 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3981 #, no-wrap msgid "1000713" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3962 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3982 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/269484[269484]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3965 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3985 #, 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:3966 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3986 #, no-wrap msgid "1000714" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3967 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3987 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/270174[270174]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3970 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3990 #, 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:3971 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3991 #, no-wrap msgid "1000715" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3975 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3995 #, 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:3976 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3996 #, no-wrap msgid "1000716" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3980 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4000 #, 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:3981 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4001 #, no-wrap msgid "1000717" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3982 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4002 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/271816[271816]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3983 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4003 #, no-wrap msgid "September 18, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3985 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4005 #, no-wrap msgid "10-STABLE after i915 HW context support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3986 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4006 #, no-wrap msgid "1001000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3987 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4007 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/272463[272463]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3988 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3993 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4008 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4013 #, no-wrap msgid "October 2, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3990 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4010 #, no-wrap msgid "10.1-RC1 after releng/10.1 branch." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3991 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4011 #, no-wrap msgid "1001500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3992 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4012 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/272464[272464]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3995 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4015 #, no-wrap msgid "10-STABLE after releng/10.1 branch." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:3996 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4016 #, no-wrap msgid "1001501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4000 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4020 #, 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:4001 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4021 #, no-wrap msgid "1001502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4005 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4025 #, 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:4006 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4026 #, no-wrap msgid "1001503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4007 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4027 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/275040[275040]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4008 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4028 #, no-wrap msgid "November 25, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4010 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4030 #, 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:4011 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4031 #, no-wrap msgid "1001504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4012 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4682 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4032 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4702 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/275742[275742]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4013 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4683 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4033 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4703 #, no-wrap msgid "December 13, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4015 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4035 #, 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:4016 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4036 #, no-wrap msgid "1001505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4017 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4037 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/276633[276633]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4018 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4038 #, no-wrap msgid "January 3, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4020 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4040 #, 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:4021 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4041 #, no-wrap msgid "1001506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4022 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4042 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/277087[277087]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4023 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4043 #, no-wrap msgid "January 12, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4025 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4045 #, 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:4026 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4046 #, no-wrap msgid "1001507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4027 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4047 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/277790[277790]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4028 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4048 #, no-wrap msgid "January 27, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4030 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4050 #, 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:4031 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4051 #, no-wrap msgid "1001508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4032 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4052 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/278974[278974]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4035 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4055 #, 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:4036 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4056 #, no-wrap msgid "1001509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4037 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4687 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5472 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4057 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4707 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5492 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/279287[279287]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4039 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4689 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5474 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4059 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4709 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5494 #, no-wrap msgid "" "February 25, 2015\n" "pass:[]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4042 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4062 #, 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:[]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4043 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4063 #, no-wrap msgid "1001510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4044 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4064 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/279329[279329]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4045 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4065 #, no-wrap msgid "February 26, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4047 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4067 #, 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:4048 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4068 #, no-wrap msgid "1001511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4049 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4069 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/280246[280246]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4050 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4070 #, no-wrap msgid "March 19, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4052 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4072 #, 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:4053 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4073 #, no-wrap msgid "1001512" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4054 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4074 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/280438[280438]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4055 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4075 #, no-wrap msgid "March 24, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4057 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4077 #, 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:4058 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4078 #, no-wrap msgid "1001513" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4059 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4079 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/281955[281955]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4060 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4080 #, no-wrap msgid "April 24, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4062 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4082 #, 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:4063 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4083 #, no-wrap msgid "1001514" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4064 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4084 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/282275[282275]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4065 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4085 #, no-wrap msgid "April 30, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4067 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4087 #, no-wrap msgid "10-STABLE after MFC of man:iconv[3] fixes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4068 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4088 #, no-wrap msgid "1001515" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4069 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4089 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/282781[282781]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4070 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4090 #, no-wrap msgid "May 11, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4072 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4092 #, no-wrap msgid "10-STABLE after adding back `M_FLOWID`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4073 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4093 #, no-wrap msgid "1001516" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4074 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4094 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/283341[283341]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4075 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4095 #, no-wrap msgid "May 24, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4077 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4097 #, no-wrap msgid "10-STABLE after MFC of many USB things." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4078 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4098 #, no-wrap msgid "1001517" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4079 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4099 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/283950[283950]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4080 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4100 #, no-wrap msgid "June 3, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4082 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4102 #, no-wrap msgid "10-STABLE after MFC of sound related things." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4083 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4103 #, no-wrap msgid "1001518" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4084 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4104 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/284204[284204]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4087 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4107 #, 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:4088 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4108 #, no-wrap msgid "1001519" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4089 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4109 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/284720[284720]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4090 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4110 #, no-wrap msgid "June 23, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4092 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4112 #, no-wrap msgid "10-STABLE after reverting bumping `MAXCPU` on amd64." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4093 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4113 #, no-wrap msgid "1002000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4094 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4114 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/285830[285830]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4095 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4100 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4115 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4120 #, no-wrap msgid "July 24, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4097 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4117 #, no-wrap msgid "`releng/10.2` branched from 10-STABLE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4098 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4118 #, no-wrap msgid "1002500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4099 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4119 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/285831[285831]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4102 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4122 #, 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:4103 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4123 #, no-wrap msgid "1002501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4104 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4124 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/289005[289005]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4105 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4125 #, no-wrap msgid "October 8, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4107 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4127 #, 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:4108 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4128 #, no-wrap msgid "1002502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4109 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4129 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/291243[291243]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4110 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4130 #, no-wrap msgid "November 24, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4112 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4132 #, 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:4113 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4133 #, no-wrap msgid "1002503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4114 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4134 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/292224[292224]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4115 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4135 #, no-wrap msgid "December 14, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4117 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4137 #, 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:4118 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4138 #, no-wrap msgid "1002504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4119 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4139 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/292589[292589]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4120 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4140 #, no-wrap msgid "December 22, 2015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4122 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4142 #, 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:4123 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4143 #, no-wrap msgid "1002505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4124 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4144 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/292908[292908]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4127 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4147 #, 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:4128 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4148 #, no-wrap msgid "1002506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4129 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4149 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/293476[293476]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4130 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4135 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4140 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4150 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4155 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4160 #, no-wrap msgid "January 9, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4132 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4152 #, 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:4133 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4153 #, no-wrap msgid "1002507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4134 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4154 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/293610[293610]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4137 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4157 #, 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:4138 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4158 #, no-wrap msgid "1002508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4139 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4159 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/293619[293619]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4142 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4162 #, 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:4143 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4163 #, no-wrap msgid "1002509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4144 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4164 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/295107[295107]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4145 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4165 #, no-wrap msgid "February 1, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4147 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4167 #, 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:4148 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4168 #, no-wrap msgid "1003000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4149 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4169 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/296373[296373]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4150 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4155 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4170 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4175 #, no-wrap msgid "March 4, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4152 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4172 #, no-wrap msgid "`releng/10.3` branched from 10-STABLE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4153 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4173 #, no-wrap msgid "1003500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4154 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4174 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/296374[296374]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4157 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4177 #, 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:4158 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4178 #, no-wrap msgid "1003501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4159 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4179 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/298299[298299]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4160 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4165 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4170 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4180 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4185 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4190 #, no-wrap msgid "June 19, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4162 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4182 #, 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:4163 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4183 #, no-wrap msgid "1003502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4164 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4184 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/299966[299966]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4167 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4187 #, no-wrap msgid "10-STABLE after libcrypto.so was made position independent." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4168 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4188 #, no-wrap msgid "1003503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4169 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4189 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/300235[300235]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4172 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4192 #, 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:4173 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4193 #, no-wrap msgid "1003504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4174 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4194 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/302066[302066]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4177 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4197 #, 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:4178 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4198 #, no-wrap msgid "1003505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4179 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4199 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/302228[302228]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4180 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4200 #, no-wrap msgid "June 27, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4182 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4202 #, 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:4183 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4203 #, no-wrap msgid "1003506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4184 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4204 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/304611[304611]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4187 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4207 #, no-wrap msgid "10-STABLE after adding C++11 `thread_local` support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4188 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4208 #, no-wrap msgid "1003507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4189 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4209 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/304864[304864]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4192 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4212 #, no-wrap msgid "10-STABLE after `LC_*_MASK` fix." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4193 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4213 #, no-wrap msgid "1003508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4194 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4214 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/305734[305734]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4197 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4217 #, 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:4198 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4218 #, no-wrap msgid "1003509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4199 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4219 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/307331[307331]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4202 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4222 #, no-wrap msgid "10-STABLE after ZFS merges." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4203 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4223 #, no-wrap msgid "1003510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4204 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4224 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/308047[308047]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4207 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4227 #, 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:4208 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4228 #, no-wrap msgid "1003511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4209 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4229 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/310121[310121]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4212 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4232 #, 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:4213 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4233 #, no-wrap msgid "1003512" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4214 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4234 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/315730[315730]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4215 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4235 #, no-wrap msgid "March 22, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4217 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4237 #, 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:4218 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4238 #, no-wrap msgid "1003513" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4219 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4239 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/316499[316499]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4222 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4242 #, 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:4223 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4243 #, no-wrap msgid "1003514" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4224 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4244 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/318198[318198]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4227 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4247 #, no-wrap msgid "10-STABLE after merging the addition of the [.filename]## header." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4228 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4248 #, no-wrap msgid "1003515" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4229 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4249 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/321222[321222]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4230 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4250 #, no-wrap msgid "July 19, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4232 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4252 #, 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:4233 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4253 #, no-wrap msgid "1003516" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4234 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4254 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/321717[321717]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4235 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4255 #, no-wrap msgid "July 30, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4237 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4257 #, 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:4238 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4258 #, no-wrap msgid "1004000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4239 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4259 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/323604[323604]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4240 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4245 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4260 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4265 #, no-wrap msgid "September 15, 2017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4242 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4262 #, no-wrap msgid "`releng/10.4` branched from 10-STABLE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4243 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4263 #, no-wrap msgid "1004500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4244 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4264 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/323605[323605]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4247 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4267 #, 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:4248 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4268 #, no-wrap msgid "1004501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4252 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4272 #, 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:4253 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4273 #, no-wrap msgid "1004502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4254 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4274 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356396[356396]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4257 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4277 #, 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:4258 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4278 #, no-wrap msgid "1004503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4259 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4279 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/356681[356681]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4261 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4281 #, 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:4264 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4284 #, no-wrap msgid "FreeBSD 9 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4267 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4287 #, no-wrap msgid "FreeBSD 9 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4276 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4296 #, no-wrap msgid "900000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4277 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4297 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/196432[196432]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4278 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4298 #, no-wrap msgid "August 22, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4280 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4300 #, no-wrap msgid "9.0-CURRENT." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4281 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4301 #, no-wrap msgid "900001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4282 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4302 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/197019[197019]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4283 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4303 #, no-wrap msgid "September 8, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4285 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4305 #, 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:4286 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4306 #, no-wrap msgid "900002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4287 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4307 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/197430[197430]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4288 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4308 #, no-wrap msgid "September 23, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4290 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4310 #, 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:4291 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4311 #, no-wrap msgid "900003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4292 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4312 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/200039[200039]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4293 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4313 #, no-wrap msgid "December 2, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4295 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4315 #, 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:4296 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4316 #, no-wrap msgid "900004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4297 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4317 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/200185[200185]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4298 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4318 #, no-wrap msgid "December 6, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4300 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4320 #, 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:4301 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4321 #, no-wrap msgid "900005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4302 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4322 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/200447[200447]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4303 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4323 #, no-wrap msgid "December 12, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4305 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4325 #, 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:4306 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4326 #, no-wrap msgid "900006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4307 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4327 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/201513[201513]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4308 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4328 #, no-wrap msgid "January 4, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4310 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4330 #, 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:4311 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4331 #, no-wrap msgid "900007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4312 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4332 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/202219[202219]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4313 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4333 #, no-wrap msgid "January 13, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4315 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4335 #, 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:4316 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4336 #, no-wrap msgid "900008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4317 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4337 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/202722[202722]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4318 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4338 #, no-wrap msgid "January 20, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4320 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4340 #, 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:4321 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4341 #, no-wrap msgid "900009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4322 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4342 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/203052[203052]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4323 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4343 #, no-wrap msgid "January 26, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4325 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4345 #, 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:4326 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4346 #, no-wrap msgid "900010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4327 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4347 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/205471[205471]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4328 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4348 #, no-wrap msgid "March 22, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4330 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4350 #, 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:4331 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4351 #, no-wrap msgid "900011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4332 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4352 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/207410[207410]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4333 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4353 #, no-wrap msgid "April 24, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4335 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4355 #, no-wrap msgid "9.0-CURRENT after adding soft-updates journaling." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4336 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4356 #, no-wrap msgid "900012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4337 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4357 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/207842[207842]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4338 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4358 #, no-wrap msgid "May 10, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4340 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4360 #, 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:4341 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4361 #, no-wrap msgid "900013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4342 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4362 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/208486[208486]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4343 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4363 #, no-wrap msgid "May 24, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4345 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4365 #, 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:4346 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4366 #, no-wrap msgid "900014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4347 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4367 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/208973[208973]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4348 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4368 #, no-wrap msgid "June 10, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4350 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4370 #, no-wrap msgid "9.0-CURRENT after adding Clang." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4351 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4371 #, no-wrap msgid "900015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4352 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4372 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/210390[210390]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4353 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4373 #, no-wrap msgid "July 22, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4355 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4375 #, no-wrap msgid "9.0-CURRENT after the import of BSD grep." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4356 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4376 #, no-wrap msgid "900016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4357 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4377 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/210565[210565]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4358 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4378 #, no-wrap msgid "July 28, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4360 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4380 #, 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:4361 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4381 #, no-wrap msgid "900017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4362 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4382 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/211701[211701]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4363 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4383 #, no-wrap msgid "August 23, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4365 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4385 #, 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:4366 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4386 #, no-wrap msgid "900018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4367 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4387 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/211735[211735]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4368 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4388 #, no-wrap msgid "August 24, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4370 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4390 #, 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:4371 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4391 #, no-wrap msgid "900019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4372 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4392 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/211937[211937]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4373 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4393 #, no-wrap msgid "August 28, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4375 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4395 #, 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:4376 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4396 #, no-wrap msgid "900020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4377 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4397 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/212381[212381]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4378 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4398 #, no-wrap msgid "September 9, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4380 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4400 #, 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:4381 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4401 #, no-wrap msgid "900021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4382 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4402 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/212568[212568]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4383 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4403 #, no-wrap msgid "September 13, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4385 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4405 #, 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:4386 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4406 #, no-wrap msgid "900022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4387 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4407 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/213395[213395]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4388 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4408 #, no-wrap msgid "October 2, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4390 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4410 #, 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:4391 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4411 #, no-wrap msgid "900023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4392 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4412 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/213700[213700]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4393 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4413 #, no-wrap msgid "October 11, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4395 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4415 #, 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:4396 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4416 #, no-wrap msgid "900024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4397 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4417 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/215127[215127]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4398 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4418 #, no-wrap msgid "November 11, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4400 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4420 #, 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:4401 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4421 #, no-wrap msgid "900025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4402 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4422 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/215166[215166]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4403 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4423 #, no-wrap msgid "November 12, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4405 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4425 #, 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:4406 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4426 #, no-wrap msgid "900026" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4407 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4427 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/216088[216088]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4408 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4428 #, no-wrap msgid "November 30, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4410 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4430 #, 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:4411 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4431 #, no-wrap msgid "900027" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4412 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4432 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/216212[216212]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4413 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4433 #, no-wrap msgid "December 5, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4415 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4435 #, 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:4416 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4436 #, no-wrap msgid "900028" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4417 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4437 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/216615[216615]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4418 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4438 #, no-wrap msgid "December 21, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4420 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4440 #, 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:4421 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4441 #, no-wrap msgid "900029" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4422 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4442 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/216758[216758]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4423 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4443 #, no-wrap msgid "December 28, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4425 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4445 #, 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:4426 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4446 #, no-wrap msgid "900030" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4427 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4447 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/217309[217309]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4428 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4448 #, no-wrap msgid "January 12, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4430 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4450 #, 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:4431 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4451 #, no-wrap msgid "900031" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4432 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4452 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/218414[218414]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4433 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4453 #, no-wrap msgid "February 7, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4435 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4455 #, 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:4436 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4456 #, no-wrap msgid "900032" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4437 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4457 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/218425[218425]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4438 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4458 #, no-wrap msgid "February 8, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4440 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4460 #, 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:4441 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4461 #, no-wrap msgid "900033" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4442 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4462 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/218822[218822]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4443 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4463 #, no-wrap msgid "February 18, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4445 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4465 #, 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:4446 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4466 #, no-wrap msgid "900034" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4447 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4467 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/219406[219406]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4448 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4468 #, no-wrap msgid "March 8, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4450 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4470 #, 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:4451 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4471 #, no-wrap msgid "900035" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4452 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4472 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/220150[220150]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4453 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4473 #, no-wrap msgid "March 29, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4455 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4475 #, 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:4456 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4476 #, no-wrap msgid "900036" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4457 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4477 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/220770[220770]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4458 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4478 #, no-wrap msgid "April 18, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4460 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4480 #, 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:4461 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4481 #, no-wrap msgid "900037" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4462 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4482 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/221862[221862]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4463 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4483 #, no-wrap msgid "May 13, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4465 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4485 #, 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:4466 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4486 #, no-wrap msgid "900038" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4467 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4487 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/222167[222167]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4468 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4488 #, no-wrap msgid "May 22, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4470 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4490 #, 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:4471 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4491 #, no-wrap msgid "900039" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4472 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4492 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/223637[223637]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4473 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4493 #, no-wrap msgid "June 28, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4475 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4495 #, 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:4476 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4496 #, no-wrap msgid "900040" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4477 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4497 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/224217[224217]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4478 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5373 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4498 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5393 #, no-wrap msgid "July 19, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4480 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4500 #, 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:4481 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4501 #, no-wrap msgid "900041" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4482 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4502 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/224834[224834]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4483 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4503 #, no-wrap msgid "August 13, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4485 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4505 #, 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:4486 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4506 #, no-wrap msgid "900042" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4487 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4492 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4507 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4512 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/225350[225350]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4488 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4508 #, no-wrap msgid "August 28, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4490 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4510 #, 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:4491 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4511 #, no-wrap msgid "900043" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4493 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4513 #, no-wrap msgid "September 2, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4495 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4515 #, 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:4496 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4516 #, no-wrap msgid "900044" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4497 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4517 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/225469[225469]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4498 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5383 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4518 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5403 #, no-wrap msgid "September 10, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4500 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4520 #, no-wrap msgid "Re-factor auto-quirk. 9.0-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4501 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4521 #, no-wrap msgid "900045" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4502 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4522 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/229285[229285]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4503 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4508 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4523 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4528 #, no-wrap msgid "January 2, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4505 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4525 #, no-wrap msgid "9-STABLE after MFC of true/false from 1000002." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4506 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4526 #, no-wrap msgid "900500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4507 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4527 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/229318[229318]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4510 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4530 #, no-wrap msgid "9.0-STABLE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4511 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4531 #, no-wrap msgid "900501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4512 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4532 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/229723[229723]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4513 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5398 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4533 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5418 #, no-wrap msgid "January 6, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4515 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4535 #, 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:4516 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4536 #, no-wrap msgid "900502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4517 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4537 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/230237[230237]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4520 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4540 #, no-wrap msgid "9.0-STABLE after merging gperf 3.0.3" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4521 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4541 #, no-wrap msgid "900503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4522 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4542 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/231768[231768]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4523 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5408 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4543 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5428 #, no-wrap msgid "February 15, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4525 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4545 #, 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:4526 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4546 #, no-wrap msgid "900504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4527 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4547 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/232728[232728]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4528 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5413 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5418 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4548 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5433 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5438 #, no-wrap msgid "March 3, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4530 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4550 #, 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:4531 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4551 #, no-wrap msgid "900505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4532 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4552 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/232945[232945]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4533 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4553 #, no-wrap msgid "March 13, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4535 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4555 #, 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:4536 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4556 #, no-wrap msgid "900506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4537 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4557 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/235786[235786]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4540 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4560 #, 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:4541 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4561 #, no-wrap msgid "901000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4542 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4562 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/239082[239082]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4543 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4563 #, no-wrap msgid "August 5, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4545 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4565 #, no-wrap msgid "9.1-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4546 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4566 #, no-wrap msgid "901500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4547 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4567 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/239081[239081]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4548 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4568 #, no-wrap msgid "August 6, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4550 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4570 #, 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:4551 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4571 #, no-wrap msgid "901501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4552 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4572 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/240659[240659]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4553 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4573 #, no-wrap msgid "November 11, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4555 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4575 #, 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:4556 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4576 #, no-wrap msgid "901502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4557 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4577 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/243656[243656]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4558 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4578 #, no-wrap msgid "November 28, 2012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4560 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4580 #, 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:4561 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4581 #, no-wrap msgid "901503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4562 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4582 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/247090[247090]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4563 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5423 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4583 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5443 #, no-wrap msgid "February 21, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4565 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4585 #, 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:4566 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4586 #, no-wrap msgid "901504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4567 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4587 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/248338[248338]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4568 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4588 #, no-wrap msgid "March 15, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4570 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4590 #, 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:4571 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4591 #, no-wrap msgid "901505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4572 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4592 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/251687[251687]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4573 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4593 #, no-wrap msgid "June 13, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4575 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4595 #, 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:4576 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4596 #, no-wrap msgid "902001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4577 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4597 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/253912[253912]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4578 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4598 #, no-wrap msgid "August 3, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4580 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4600 #, no-wrap msgid "`releng/9.2` branched from `stable/9`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4581 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4601 #, no-wrap msgid "902501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4582 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4602 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/253913[253913]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4583 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4603 #, no-wrap msgid "August 2, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4585 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4605 #, 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:4586 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4606 #, no-wrap msgid "902502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4587 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4607 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254938[254938]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4588 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4608 #, no-wrap msgid "August 26, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4590 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4610 #, 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:4591 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4611 #, no-wrap msgid "902503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4592 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4612 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/254979[254979]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4593 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4613 #, no-wrap msgid "August 27, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4595 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4615 #, 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:4596 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4616 #, no-wrap msgid "902504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4597 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4617 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/256917[256917]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4600 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4620 #, 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:4601 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4621 #, no-wrap msgid "902505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4602 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4622 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/259448[259448]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4603 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4623 #, no-wrap msgid "December 12, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4605 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4625 #, no-wrap msgid "9.2-STABLE after Heimdal encoding fix." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4606 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4626 #, no-wrap msgid "902506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4607 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4627 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/260136[260136]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4610 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4630 #, 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:4611 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4631 #, no-wrap msgid "902507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4615 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4635 #, 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:4616 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4636 #, no-wrap msgid "902508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4617 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4637 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/263171[263171]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4620 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4640 #, 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:4621 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4641 #, no-wrap msgid "902509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4622 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4642 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/263509[263509]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4625 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4645 #, 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:4626 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4646 #, no-wrap msgid "902510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4627 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4647 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/263818[263818]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4628 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4633 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4648 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4653 #, no-wrap msgid "March 27, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4630 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4650 #, 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:4631 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4651 #, no-wrap msgid "902511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4635 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4655 #, no-wrap msgid "9-STABLE after FreeBSD-SA-14:06.openssl." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4636 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4656 #, no-wrap msgid "902512" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4637 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5442 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4657 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5462 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/265123[265123]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4640 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4660 #, no-wrap msgid "9-STABLE after FreeBSD-SA-14:08.tcp." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4641 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4661 #, no-wrap msgid "903000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4642 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4662 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/267656[267656]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4643 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4648 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4663 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4668 #, no-wrap msgid "June 20, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4645 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4665 #, no-wrap msgid "9-RC1 `releng/9.3` branch." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4646 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4666 #, no-wrap msgid "903500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4647 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4667 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/267657[267657]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4650 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4670 #, no-wrap msgid "9.3-STABLE `releng/9.3` branch." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4651 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4671 #, no-wrap msgid "903501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4652 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4672 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/268443[268443]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4655 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4675 #, 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:4656 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4676 #, no-wrap msgid "903502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4657 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4677 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/270175[270175]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4658 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4678 #, no-wrap msgid "August 19, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4660 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4680 #, 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:4661 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4681 #, no-wrap msgid "903503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4665 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4685 #, 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:4666 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4686 #, no-wrap msgid "903504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4670 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4690 #, 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:4671 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4691 #, no-wrap msgid "903505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4675 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4695 #, 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:4676 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4696 #, no-wrap msgid "903506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4680 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4700 #, 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:4681 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4701 #, no-wrap msgid "903507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4685 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4705 #, 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:4686 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4706 #, no-wrap msgid "903508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4692 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4712 #, 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:[]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4693 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4713 #, no-wrap msgid "903509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4694 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4714 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/296219[296219]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4695 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4715 #, no-wrap msgid "February 29, 2016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4697 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4717 #, 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:4698 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4718 #, no-wrap msgid "903510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4699 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4719 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/300236[300236]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4702 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4722 #, 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:4703 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4723 #, no-wrap msgid "903511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4704 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4724 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/305735[305735]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4706 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4726 #, 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:4709 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4729 #, no-wrap msgid "FreeBSD 8 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4712 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4732 #, no-wrap msgid "FreeBSD 8 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4721 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4741 #, no-wrap msgid "800000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4722 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4742 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/172531[172531]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4723 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4743 #, no-wrap msgid "October 11, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4725 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4745 #, no-wrap msgid "8.0-CURRENT. Separating wide and single byte `ctype`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4726 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4746 #, no-wrap msgid "800001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4727 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4747 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/172688[172688]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4728 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4748 #, no-wrap msgid "October 16, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4730 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4750 #, 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:4731 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4751 #, no-wrap msgid "800002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4732 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4752 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/172841[172841]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4733 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4753 #, no-wrap msgid "October 21, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4735 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4755 #, 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:4736 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4756 #, no-wrap msgid "800003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4737 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4757 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/172932[172932]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4738 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4758 #, no-wrap msgid "October 24, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4740 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4760 #, 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:4741 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4761 #, no-wrap msgid "800004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4742 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4762 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/173573[173573]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4743 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4763 #, no-wrap msgid "November 12, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4745 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4765 #, 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:4746 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4766 #, no-wrap msgid "800005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4747 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4767 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/174261[174261]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4748 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4768 #, no-wrap msgid "December 4, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4750 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4770 #, 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:4751 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4771 #, no-wrap msgid "800006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4752 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4772 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/174399[174399]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4753 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6301 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4773 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6321 #, no-wrap msgid "December 7, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4755 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4775 #, 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:4756 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4776 #, no-wrap msgid "800007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4757 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4777 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/174901[174901]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4758 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4778 #, no-wrap msgid "December 25, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4760 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4780 #, 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:4761 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4781 #, no-wrap msgid "800008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4762 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4782 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/174951[174951]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4763 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4783 #, no-wrap msgid "December 28, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4765 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4785 #, no-wrap msgid "8.0-CURRENT after LK_EXCLUPGRADE option removal." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4766 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4786 #, no-wrap msgid "800009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4767 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4787 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/175168[175168]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4768 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4788 #, no-wrap msgid "January 9, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4770 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4790 #, 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:4771 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4791 #, no-wrap msgid "800010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4772 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4792 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/175204[175204]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4773 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4793 #, no-wrap msgid "January 10, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4775 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4795 #, 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:4776 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4796 #, no-wrap msgid "800011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4777 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4797 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/175295[175295]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4778 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4798 #, no-wrap msgid "January 13, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4780 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4800 #, 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:4781 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4801 #, no-wrap msgid "800012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4782 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4802 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/175487[175487]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4783 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4803 #, no-wrap msgid "January 19, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4785 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4805 #, 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:4786 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4806 #, no-wrap msgid "800013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4787 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4807 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/175581[175581]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4788 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4808 #, no-wrap msgid "January 23, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4790 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4810 #, no-wrap msgid "8.0-CURRENT after introduction of the \"ASCII\" encoding." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4791 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4811 #, no-wrap msgid "800014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4792 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4812 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/175636[175636]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4793 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4813 #, no-wrap msgid "January 24, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4795 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4815 #, 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:4796 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4816 #, no-wrap msgid "800015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4797 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4817 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/175688[175688]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4798 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4818 #, no-wrap msgid "January 26, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4800 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4820 #, 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:4801 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4821 #, no-wrap msgid "800016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4802 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4822 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/175872[175872]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4803 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4823 #, no-wrap msgid "February 1, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4805 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4825 #, 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:4806 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4826 #, no-wrap msgid "800017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4807 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4827 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/176015[176015]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4808 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4828 #, no-wrap msgid "February 6, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4810 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4830 #, 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:4811 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4831 #, no-wrap msgid "800018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4812 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4832 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/176112[176112]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4813 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5788 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4833 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5808 #, no-wrap msgid "February 8, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4815 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4835 #, no-wrap msgid "8.0-CURRENT after the addition of `m_collapse`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4816 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4836 #, no-wrap msgid "800019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4817 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4837 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/176124[176124]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4818 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4838 #, no-wrap msgid "February 9, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4820 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4840 #, 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:4821 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4841 #, no-wrap msgid "800020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4822 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4842 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/176251[176251]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4823 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4843 #, no-wrap msgid "February 13, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4825 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4845 #, 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:4826 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4846 #, no-wrap msgid "800021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4827 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4847 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/176321[176321]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4828 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4848 #, no-wrap msgid "February 15, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4830 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4850 #, 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:4831 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4851 #, no-wrap msgid "800022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4832 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4852 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/176556[176556]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4833 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4853 #, no-wrap msgid "(backed out)" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4835 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4855 #, 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:4836 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4856 #, no-wrap msgid "800023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4837 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4857 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/176560[176560]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4838 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4858 #, no-wrap msgid "February 25, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4840 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4860 #, 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:4841 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4861 #, no-wrap msgid "800024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4842 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4862 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/176709[176709]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4843 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4863 #, no-wrap msgid "March 1, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4845 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4865 #, 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:4846 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4866 #, no-wrap msgid "800025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4847 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4867 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/176958[176958]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4848 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4868 #, no-wrap msgid "March 8, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4850 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4870 #, 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:4851 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4871 #, no-wrap msgid "800026" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4852 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4872 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/177086[177086]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4853 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4873 #, no-wrap msgid "March 12, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4855 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4875 #, 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:4856 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4876 #, no-wrap msgid "800027" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4857 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4877 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/177551[177551]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4858 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4878 #, no-wrap msgid "March 24, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4860 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4880 #, 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:4861 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4881 #, no-wrap msgid "800028" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4862 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4882 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/177637[177637]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4863 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4883 #, no-wrap msgid "March 26, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4865 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4885 #, 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:4866 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4886 #, no-wrap msgid "800029" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4867 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4887 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/177688[177688]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4868 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4888 #, no-wrap msgid "March 28, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4870 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4890 #, 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:4871 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4891 #, no-wrap msgid "800030" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4872 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4892 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/177844[177844]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4873 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4893 #, no-wrap msgid "April 1, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4875 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4895 #, 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:4876 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4896 #, no-wrap msgid "800031" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4877 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4897 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/177958[177958]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4878 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4898 #, no-wrap msgid "April 6, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4880 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4900 #, 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:4881 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4901 #, no-wrap msgid "800032" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4882 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4902 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178006[178006]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4883 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4888 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4903 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4908 #, no-wrap msgid "April 8, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4885 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4905 #, 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:4886 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4906 #, no-wrap msgid "800033" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4887 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4907 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178017[178017]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4890 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4910 #, 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:4891 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4911 #, no-wrap msgid "800034" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4892 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4912 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178051[178051]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4893 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5798 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4913 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5818 #, no-wrap msgid "April 10, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4895 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4915 #, no-wrap msgid "8.0-CURRENT after introduction of the `memrchr` function." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4896 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4916 #, no-wrap msgid "800035" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4897 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4917 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178256[178256]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4898 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4918 #, no-wrap msgid "April 16, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4900 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4920 #, no-wrap msgid "8.0-CURRENT after introduction of the `fdopendir` function." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4901 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4921 #, no-wrap msgid "800036" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4902 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4922 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178362[178362]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4903 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5818 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4923 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5838 #, no-wrap msgid "April 20, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4905 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4925 #, 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:4906 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4926 #, no-wrap msgid "800037" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4907 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4927 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178892[178892]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4908 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4928 #, no-wrap msgid "May 9, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4910 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4930 #, 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:4911 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4931 #, no-wrap msgid "800038" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4912 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4932 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/179316[179316]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4913 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4933 #, no-wrap msgid "May 26, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4915 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4935 #, 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:4916 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4936 #, no-wrap msgid "800039" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4917 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4937 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/179784[179784]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4918 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4938 #, no-wrap msgid "June 14, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4920 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4940 #, no-wrap msgid "8.0-CURRENT after removal of `sgtty`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4921 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4941 #, no-wrap msgid "800040" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4922 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4942 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/180025[180025]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4923 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4943 #, no-wrap msgid "June 26, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4925 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4945 #, no-wrap msgid "8.0-CURRENT with kernel NFS `lockd` client." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4926 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4946 #, no-wrap msgid "800041" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4927 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4947 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/180691[180691]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4928 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4948 #, no-wrap msgid "July 22, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4930 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4950 #, 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:4931 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4951 #, no-wrap msgid "800042" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4932 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4952 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/181439[181439]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4933 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4953 #, no-wrap msgid "August 8, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4935 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4955 #, no-wrap msgid "8.0-CURRENT after addition of man:cpuctl[4]." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4936 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4956 #, no-wrap msgid "800043" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4937 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4957 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/181694[181694]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4938 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4958 #, no-wrap msgid "August 13, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4940 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4960 #, 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:4941 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4961 #, no-wrap msgid "800044" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4942 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4962 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/181803[181803]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4943 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4963 #, no-wrap msgid "August 17, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4945 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4965 #, 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:4946 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4966 #, no-wrap msgid "800045" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4947 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4967 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/181905[181905]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4948 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5838 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4968 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5858 #, no-wrap msgid "August 20, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4950 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4970 #, 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:4951 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4971 #, no-wrap msgid "800046" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4952 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4972 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/182869[182869]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4953 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4973 #, no-wrap msgid "September 8, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4955 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4975 #, 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:4956 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4976 #, no-wrap msgid "800047" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4957 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4977 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/182905[182905]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4958 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4978 #, no-wrap msgid "September 10, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4960 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4980 #, 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:4961 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4981 #, no-wrap msgid "800048" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4962 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4982 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/183091[183091]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4963 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4983 #, no-wrap msgid "September 16, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4965 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4985 #, 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:4966 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4986 #, no-wrap msgid "800049" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4967 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4987 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/183114[183114]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4968 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4988 #, no-wrap msgid "September 17, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4970 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4990 #, 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:4971 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4991 #, no-wrap msgid "800050" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4972 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4992 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/184099[184099]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4973 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4993 #, no-wrap msgid "October 20, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4975 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4995 #, no-wrap msgid "8.0-CURRENT after buffer cache API change." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4976 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4996 #, no-wrap msgid "800051" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4977 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4997 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/184205[184205]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4978 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4998 #, no-wrap msgid "October 23, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4980 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5000 #, 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:4981 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5001 #, no-wrap msgid "800052" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4982 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5002 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/184419[184419]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4983 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5003 #, no-wrap msgid "October 28, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4985 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5005 #, 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:4986 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5006 #, no-wrap msgid "800053" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4987 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5007 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/184555[184555]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4988 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5008 #, no-wrap msgid "November 2, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4990 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5010 #, 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:4991 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5011 #, no-wrap msgid "800054" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4992 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5012 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/185162[185162]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4993 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5013 #, no-wrap msgid "November 22, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4995 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5015 #, 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:4996 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5016 #, no-wrap msgid "800055" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4997 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5017 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/185363[185363]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:4998 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5018 #, no-wrap msgid "November 27, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5000 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5020 #, 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:5001 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5021 #, no-wrap msgid "800056" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5002 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5022 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/185435[185435]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5003 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5023 #, no-wrap msgid "November 29, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5005 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5025 #, 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:5006 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5026 #, no-wrap msgid "800057" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5007 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5027 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/185522[185522]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5008 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5028 #, no-wrap msgid "December 1, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5010 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5030 #, 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:5011 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5031 #, no-wrap msgid "800058" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5012 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5032 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/185968[185968]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5013 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5033 #, no-wrap msgid "December 12, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5015 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5035 #, 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:5016 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5036 #, no-wrap msgid "800059" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5017 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5037 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/186119[186119]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5018 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5038 #, no-wrap msgid "December 15, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5020 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5040 #, no-wrap msgid "8.0-CURRENT incorporates the new arp-v2 rewrite." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5021 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5041 #, no-wrap msgid "800060" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5022 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5042 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/186344[186344]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5023 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5043 #, no-wrap msgid "December 19, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5025 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5045 #, no-wrap msgid "8.0-CURRENT after the addition of makefs." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5026 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5046 #, no-wrap msgid "800061" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5027 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5047 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/187289[187289]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5028 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5048 #, no-wrap msgid "January 15, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5030 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5050 #, no-wrap msgid "8.0-CURRENT after TCP Appropriate Byte Counting." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5031 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5051 #, no-wrap msgid "800062" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5032 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5052 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/187830[187830]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5033 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5053 #, no-wrap msgid "January 28, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5035 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5055 #, 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:5036 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5056 #, no-wrap msgid "800063" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5037 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5057 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/188745[188745]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5038 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5058 #, no-wrap msgid "February 18, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5040 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5060 #, 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:5041 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5061 #, no-wrap msgid "800064" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5042 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5062 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/188946[188946]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5043 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5063 #, no-wrap msgid "February 23, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5045 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5065 #, 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:5046 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5066 #, no-wrap msgid "800065" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5047 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5067 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/189092[189092]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5048 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5068 #, no-wrap msgid "February 26, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5050 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5070 #, 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:5051 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5071 #, no-wrap msgid "800066" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5052 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5072 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/189110[189110]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5053 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5073 #, no-wrap msgid "February 27, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5055 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5075 #, 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:5056 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5076 #, no-wrap msgid "800067" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5057 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5077 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/189136[189136]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5058 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5078 #, no-wrap msgid "February 28, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5060 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5080 #, 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:5061 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5081 #, no-wrap msgid "800068" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5062 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5082 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/189276[189276]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5063 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5083 #, no-wrap msgid "March 2, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5065 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5085 #, 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:5066 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5086 #, no-wrap msgid "800069" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5067 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5087 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/189585[189585]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5068 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5073 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5088 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5093 #, no-wrap msgid "March 9, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5070 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5090 #, 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:5071 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5091 #, no-wrap msgid "800070" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5072 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5092 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/189592[189592]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5075 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5095 #, 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:5076 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5096 #, no-wrap msgid "800071" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5077 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5097 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/189825[189825]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5078 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5883 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5098 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5903 #, no-wrap msgid "March 14, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5080 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5100 #, 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:5081 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5101 #, no-wrap msgid "800072" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5082 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5102 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/189853[189853]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5083 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5103 #, no-wrap msgid "March 15, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5085 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5105 #, 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:5086 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5106 #, no-wrap msgid "800073" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5087 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5107 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/190265[190265]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5088 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5108 #, no-wrap msgid "March 18, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5090 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5110 #, 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:5091 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5111 #, no-wrap msgid "800074" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5092 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5112 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/190373[190373]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5093 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5113 #, no-wrap msgid "March 24, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5095 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5115 #, 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:5096 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5116 #, no-wrap msgid "800075" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5097 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5117 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/190787[190787]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5098 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5118 #, no-wrap msgid "April 6, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5100 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5120 #, 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:5101 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5121 #, no-wrap msgid "800076" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5102 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5122 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/190866[190866]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5103 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5123 #, no-wrap msgid "April 9, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5105 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5125 #, no-wrap msgid "8.0-CURRENT after adding delay profiles in dummynet." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5106 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5126 #, no-wrap msgid "800077" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5107 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5127 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/190914[190914]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5108 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5128 #, no-wrap msgid "April 14, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5110 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5130 #, 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:5111 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5131 #, no-wrap msgid "800078" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5112 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5132 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191080[191080]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5113 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5118 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5123 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5888 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5893 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5133 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5138 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5143 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5908 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5913 #, no-wrap msgid "April 15, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5115 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5135 #, 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:5116 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5136 #, no-wrap msgid "800079" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5117 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5137 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191117[191117]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5120 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5140 #, 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:5121 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5141 #, no-wrap msgid "800080" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5122 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5142 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191126[191126]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5125 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5145 #, 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:5126 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5146 #, no-wrap msgid "800081" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5127 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5147 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191267[191267]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5128 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5148 #, no-wrap msgid "April 19, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5130 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5150 #, 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:5131 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5151 #, no-wrap msgid "800082" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5132 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5152 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191368[191368]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5133 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5153 #, no-wrap msgid "April 21, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5135 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5155 #, 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:5136 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5156 #, no-wrap msgid "800083" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5137 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5157 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191389[191389]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5138 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5158 #, no-wrap msgid "April 22, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5140 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5160 #, 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:5141 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5161 #, no-wrap msgid "800084" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5142 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5162 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191672[191672]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5143 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5163 #, no-wrap msgid "April 29, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5145 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5165 #, no-wrap msgid "8.0-CURRENT after IPv6 SSM and MLDv2 changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5146 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5166 #, no-wrap msgid "800085" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5147 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5167 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191688[191688]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5148 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5168 #, no-wrap msgid "April 30, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5150 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5170 #, 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:5151 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5171 #, no-wrap msgid "800086" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5152 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5172 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191910[191910]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5153 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5173 #, no-wrap msgid "May 8, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5155 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5175 #, 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:5156 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5176 #, no-wrap msgid "800087" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5157 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5177 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191990[191990]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5158 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5178 #, no-wrap msgid "May 11, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5160 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5180 #, 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:5161 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5181 #, no-wrap msgid "800088" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5162 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5182 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/192470[192470]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5163 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5183 #, no-wrap msgid "May 20, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5165 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5185 #, no-wrap msgid "8.0-CURRENT after net80211 monitor mode changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5166 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5186 #, no-wrap msgid "800089" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5167 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5187 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/192649[192649]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5168 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5173 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5188 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5193 #, no-wrap msgid "May 23, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5170 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5190 #, no-wrap msgid "8.0-CURRENT after adding UDP control block support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5171 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5191 #, no-wrap msgid "800090" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5172 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5192 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/192669[192669]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5175 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5195 #, no-wrap msgid "8.0-CURRENT after virtualizing interface cloning." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5176 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5196 #, no-wrap msgid "800091" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5177 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5197 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/192895[192895]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5178 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5198 #, no-wrap msgid "May 27, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5180 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5200 #, 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:5181 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5201 #, no-wrap msgid "800092" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5182 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5202 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/193011[193011]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5183 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5188 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5203 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5208 #, no-wrap msgid "May 29, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5185 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5205 #, 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:5186 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5206 #, no-wrap msgid "800093" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5187 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5207 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/193047[193047]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5190 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5210 #, 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:5191 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5211 #, no-wrap msgid "800094" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5192 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5212 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/193093[193093]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5193 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5198 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5213 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5218 #, no-wrap msgid "May 30, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5195 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5215 #, no-wrap msgid "8.0-CURRENT after adding man:VOP_ACCESSX[9]." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5196 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5216 #, no-wrap msgid "800095" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5197 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5217 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/193096[193096]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5200 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5220 #, 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:5201 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5221 #, no-wrap msgid "800096" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5202 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5222 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/193219[193219]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5203 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5223 #, no-wrap msgid "June 1, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5205 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5225 #, 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:5206 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5226 #, no-wrap msgid "800097" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5207 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5227 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/193731[193731]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5208 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5228 #, no-wrap msgid "June 8, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5210 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5230 #, 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:5212 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5232 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/194012[194012]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5213 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5233 #, no-wrap msgid "June 11, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5215 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5235 #, 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:5216 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5236 #, no-wrap msgid "800098" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5217 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5237 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/194210[194210]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5218 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5238 #, no-wrap msgid "June 14, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5220 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5240 #, no-wrap msgid "8.0-CURRENT after OpenSSL 0.9.8k import." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5221 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5241 #, no-wrap msgid "800099" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5222 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5242 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/194675[194675]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5223 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5243 #, no-wrap msgid "June 22, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5225 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5245 #, 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:5226 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5246 #, no-wrap msgid "800100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5227 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5247 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/194920[194920]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5228 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5248 #, no-wrap msgid "June 24, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5230 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5250 #, no-wrap msgid "8.0-CURRENT after SYSVIPC ABI change." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5231 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5251 #, no-wrap msgid "800101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5232 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5252 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/195175[195175]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5233 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5253 #, no-wrap msgid "June 29, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5235 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5255 #, 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:5236 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5256 #, no-wrap msgid "800102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5237 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5257 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/195634[195634]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5238 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5258 #, no-wrap msgid "July 12, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5240 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5260 #, 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:5241 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5261 #, no-wrap msgid "800103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5242 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5262 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/195654[195654]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5243 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5263 #, no-wrap msgid "July 13, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5245 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5265 #, 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:5246 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5266 #, no-wrap msgid "800104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5247 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5267 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/195699[195699]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5248 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5913 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5268 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5933 #, no-wrap msgid "July 14, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5250 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5270 #, 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:5251 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5271 #, no-wrap msgid "800105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5252 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5272 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/195767[195767]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5253 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5273 #, no-wrap msgid "July 19, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5255 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5275 #, 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:5256 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5276 #, no-wrap msgid "800106" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5257 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5277 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/195852[195852]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5258 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5278 #, no-wrap msgid "July 24, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5260 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5280 #, 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:5261 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5281 #, no-wrap msgid "800107" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5262 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5282 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/196037[196037]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5263 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5283 #, no-wrap msgid "August 2, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5265 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5285 #, 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:5266 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5286 #, no-wrap msgid "800108" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5267 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5287 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/199627[199627]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5268 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5288 #, no-wrap msgid "November 21, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5270 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5290 #, no-wrap msgid "8.0-STABLE after implementing EVFILT_USER `kevent` filter." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5271 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5291 #, no-wrap msgid "800500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5272 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5292 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/201749[201749]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5273 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5293 #, no-wrap msgid "January 7, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5275 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5295 #, 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:5276 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5296 #, no-wrap msgid "800501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5277 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5297 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/202922[202922]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5278 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5298 #, no-wrap msgid "January 24, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5280 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5300 #, 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:5281 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5301 #, no-wrap msgid "800502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5282 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5302 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/203299[203299]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5283 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5303 #, no-wrap msgid "January 31, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5285 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5305 #, no-wrap msgid "8.0-STABLE after addition of man:sigpause[2]." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5286 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5306 #, no-wrap msgid "800503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5287 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5307 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/204344[204344]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5288 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5308 #, no-wrap msgid "February 25, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5290 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5310 #, 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:5291 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5311 #, no-wrap msgid "800504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5292 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5312 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/204546[204546]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5293 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5313 #, no-wrap msgid "March 1, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5295 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5315 #, 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:5296 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5316 #, no-wrap msgid "800505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5297 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5317 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/208259[208259]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5298 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5318 #, no-wrap msgid "May 18, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5300 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5320 #, 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:5301 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5321 #, no-wrap msgid "801000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5302 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5322 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/209150[209150]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5303 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5308 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5323 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5328 #, no-wrap msgid "June 14, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5305 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5325 #, no-wrap msgid "8.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5306 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5326 #, no-wrap msgid "801500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5307 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5327 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/209146[209146]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5310 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5330 #, no-wrap msgid "8.1-STABLE after 8.1-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5311 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5331 #, no-wrap msgid "801501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5312 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5332 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/214762[214762]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5313 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5333 #, no-wrap msgid "November 3, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5315 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5335 #, 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:5316 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5336 #, no-wrap msgid "802000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5317 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5337 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/216639[216639]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5318 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5323 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5938 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5943 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5338 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5343 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5958 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5963 #, no-wrap msgid "December 22, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5320 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5340 #, no-wrap msgid "8.2-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5321 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5341 #, no-wrap msgid "802500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5322 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5342 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/216654[216654]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5325 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5345 #, no-wrap msgid "8.2-STABLE after 8.2-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5326 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5346 #, no-wrap msgid "802501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5327 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5347 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/219107[219107]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5328 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5348 #, no-wrap msgid "February 28, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5330 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5350 #, 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:5331 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5351 #, no-wrap msgid "802502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5332 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5352 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/219324[219324]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5333 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5353 #, no-wrap msgid "March 6, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5335 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5355 #, 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:5336 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5356 #, no-wrap msgid "802503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5337 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5357 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/221275[221275]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5338 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5358 #, no-wrap msgid "May 1, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5340 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5360 #, 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:5341 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5361 #, no-wrap msgid "802504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5342 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5362 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/222401[222401]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5343 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5348 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5353 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5363 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5368 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5373 #, no-wrap msgid "May 28, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5345 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5365 #, 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:5346 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5366 #, no-wrap msgid "802505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5347 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5367 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/222406[222406]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5350 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5370 #, 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:5351 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5371 #, no-wrap msgid "802506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5352 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5372 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/222408[222408]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5355 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5375 #, 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:5356 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5376 #, no-wrap msgid "802507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5357 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5377 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/222741[222741]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5358 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5378 #, no-wrap msgid "June 6, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5360 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5380 #, no-wrap msgid "8.2-STABLE after ZFS v28 import." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5361 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5381 #, no-wrap msgid "802508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5362 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5382 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/222846[222846]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5363 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5383 #, no-wrap msgid "June 8, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5365 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5385 #, 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:5366 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5386 #, no-wrap msgid "802509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5367 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5387 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/224017[224017]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5368 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5388 #, no-wrap msgid "July 14, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5370 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5390 #, 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:5371 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5391 #, no-wrap msgid "802510" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5372 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5392 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/224214[224214]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5375 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5395 #, 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:5376 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5396 #, no-wrap msgid "802511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5377 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5397 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/225458[225458]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5378 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5398 #, no-wrap msgid "September 9, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5380 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5400 #, 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:5381 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5401 #, no-wrap msgid "802512" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5382 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5402 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/225470[225470]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5385 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5405 #, 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:5386 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5406 #, no-wrap msgid "802513" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5387 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5407 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/226763[226763]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5388 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5408 #, no-wrap msgid "October 25, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5390 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5410 #, 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:5391 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5411 #, no-wrap msgid "802514" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5392 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5412 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/227573[227573]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5393 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5413 #, no-wrap msgid "November 16, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5395 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5415 #, 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:5396 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5416 #, no-wrap msgid "802515" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5397 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5417 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/229725[229725]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5400 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5420 #, 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:5401 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5421 #, no-wrap msgid "802516" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5402 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5422 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/230239[230239]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5405 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5425 #, no-wrap msgid "8.2-STABLE after merging gperf 3.0.3" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5406 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5426 #, no-wrap msgid "802517" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5407 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5427 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/231769[231769]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5410 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5430 #, 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:5411 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5431 #, no-wrap msgid "803000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5412 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5432 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/232446[232446]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5415 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5435 #, no-wrap msgid "8.3-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5416 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5436 #, no-wrap msgid "803500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5417 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5437 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/232439[232439]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5420 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5440 #, 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:5421 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5441 #, no-wrap msgid "803501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5422 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5442 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/247091[247091]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5425 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5445 #, 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:5426 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5446 #, no-wrap msgid "804000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5427 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5447 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/248850[248850]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5428 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5433 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5448 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5453 #, no-wrap msgid "March 28, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5430 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5450 #, no-wrap msgid "8.4-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5431 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5451 #, no-wrap msgid "804500" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5432 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5452 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/248819[248819]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5435 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5455 #, no-wrap msgid "8.4-STABLE after 8.4-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5436 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5456 #, no-wrap msgid "804501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5437 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5457 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/259449[259449]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5438 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5458 #, no-wrap msgid "December 16, 2013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5440 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5460 #, 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:5441 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5461 #, no-wrap msgid "804502" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5445 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5465 #, no-wrap msgid "8.4-STABLE after FreeBSD-SA-14:08.tcp." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5446 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5466 #, no-wrap msgid "804503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5447 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5467 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/268444[268444]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5448 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5468 #, no-wrap msgid "July 9, 2014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5450 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5470 #, no-wrap msgid "8.4-STABLE after FreeBSD-SA-14:17.kmem." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5451 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5471 #, no-wrap msgid "804504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5455 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5475 #, 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:5456 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5476 #, no-wrap msgid "804505" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5460 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5480 #, 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:5461 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5481 #, no-wrap msgid "804506" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5465 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5485 #, 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:5466 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5486 #, no-wrap msgid "804507" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5470 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5490 #, 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:5471 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5491 #, no-wrap msgid "804508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5477 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5497 #, 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:[]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5478 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5498 #, no-wrap msgid "804509" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5479 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5499 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/305736[305736]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5481 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5501 #, 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:5484 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5504 #, no-wrap msgid "FreeBSD 7 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5487 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5507 #, no-wrap msgid "FreeBSD 7 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5496 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5516 #, no-wrap msgid "700000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5497 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5517 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/147925[147925]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5498 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6126 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5518 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6146 #, no-wrap msgid "July 11, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5500 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5520 #, no-wrap msgid "7.0-CURRENT." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5501 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5521 #, no-wrap msgid "700001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5502 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5522 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/148341[148341]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5503 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5523 #, no-wrap msgid "July 23, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5505 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5525 #, 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:5506 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5526 #, no-wrap msgid "700002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5507 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5527 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/149039[149039]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5508 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6136 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5528 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6156 #, no-wrap msgid "August 13, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5510 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5530 #, 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:5511 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5531 #, no-wrap msgid "700003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5512 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5532 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/149470[149470]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5513 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5533 #, no-wrap msgid "August 25, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5515 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5535 #, 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:5516 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5536 #, no-wrap msgid "700004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5517 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5537 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/151888[151888]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5518 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5538 #, no-wrap msgid "October 30, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5520 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5540 #, 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:5521 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5541 #, no-wrap msgid "700005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5522 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5542 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/152296[152296]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5523 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5528 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5543 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5548 #, no-wrap msgid "November 11, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5525 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5545 #, 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:5526 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5546 #, no-wrap msgid "700006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5527 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5547 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/152315[152315]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5530 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5550 #, 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:5531 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5551 #, no-wrap msgid "700007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5532 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5552 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/153027[153027]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5533 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5553 #, no-wrap msgid "December 2, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5535 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5555 #, 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:5536 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5556 #, no-wrap msgid "700008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5537 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5557 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/153107[153107]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5538 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5558 #, no-wrap msgid "December 5, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5540 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5560 #, 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:5541 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5561 #, no-wrap msgid "700009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5542 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5562 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/153519[153519]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5543 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5563 #, no-wrap msgid "December 19, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5545 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5565 #, 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:5546 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5566 #, no-wrap msgid "700010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5547 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5567 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/153579[153579]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5548 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5568 #, no-wrap msgid "December 20, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5550 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5570 #, 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:5551 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5571 #, no-wrap msgid "700011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5552 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5572 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/153936[153936]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5553 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5573 #, no-wrap msgid "December 31, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5555 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5575 #, 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:5556 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5576 #, no-wrap msgid "700012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5557 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5577 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/154114[154114]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5558 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5578 #, no-wrap msgid "January 8, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5560 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5580 #, no-wrap msgid "7.0-CURRENT after ldconfig_local_dirs change." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5561 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5581 #, no-wrap msgid "700013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5562 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5582 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/154269[154269]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5563 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5583 #, no-wrap msgid "January 12, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5565 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5585 #, 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:5566 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5586 #, no-wrap msgid "700014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5567 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5587 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/154863[154863]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5568 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5588 #, no-wrap msgid "January 26, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5570 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5590 #, no-wrap msgid "7.0-CURRENT after pts import." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5571 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5591 #, no-wrap msgid "700015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5572 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5592 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/157144[157144]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5573 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5593 #, no-wrap msgid "March 26, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5575 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5595 #, 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:5576 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5596 #, no-wrap msgid "700016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5577 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5597 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/157962[157962]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5578 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5598 #, no-wrap msgid "April 22, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5580 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5600 #, 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:5581 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5601 #, no-wrap msgid "700017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5582 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5602 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/158513[158513]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5583 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5603 #, no-wrap msgid "May 13, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5585 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5605 #, no-wrap msgid "7.0-CURRENT after removal of ip6fw." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5586 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5606 #, no-wrap msgid "700018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5587 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5607 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/160386[160386]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5588 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5608 #, no-wrap msgid "July 15, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5590 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5610 #, no-wrap msgid "7.0-CURRENT after import of snd_emu10kx." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5591 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5611 #, no-wrap msgid "700019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5592 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5612 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/160821[160821]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5593 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5613 #, no-wrap msgid "July 29, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5595 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5615 #, 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:5596 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5616 #, no-wrap msgid "700020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5597 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5617 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/161931[161931]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5598 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5618 #, no-wrap msgid "September 3, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5600 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5620 #, 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:5601 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5621 #, no-wrap msgid "700021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5602 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5622 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/162023[162023]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5603 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5623 #, no-wrap msgid "September 4, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5605 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5625 #, 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:5606 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5626 #, no-wrap msgid "700022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5607 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5627 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/162170[162170]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5608 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5628 #, no-wrap msgid "September 9, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5610 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5630 #, 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:5611 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5631 #, no-wrap msgid "700023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5612 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5632 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/162588[162588]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5613 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5633 #, no-wrap msgid "September 23, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5615 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5635 #, 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:5616 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5636 #, no-wrap msgid "700024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5617 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5637 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/162919[162919]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5618 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5638 #, no-wrap msgid "September 28, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5620 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5640 #, 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:5621 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5641 #, no-wrap msgid "700025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5622 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5642 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/164190[164190]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5623 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5643 #, no-wrap msgid "November 11, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5625 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5645 #, no-wrap msgid "7.0-CURRENT after the addition of libelf." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5626 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5646 #, no-wrap msgid "700026" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5627 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5647 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/164614[164614]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5628 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5648 #, no-wrap msgid "November 26, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5630 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5650 #, no-wrap msgid "7.0-CURRENT after major changes on sound sysctls." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5631 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5651 #, no-wrap msgid "700027" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5632 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5652 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/164770[164770]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5633 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5653 #, no-wrap msgid "November 30, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5635 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5655 #, 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:5636 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5656 #, no-wrap msgid "700028" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5637 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5657 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/165242[165242]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5638 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5658 #, no-wrap msgid "December 15, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5640 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5660 #, 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:5641 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5661 #, no-wrap msgid "700029" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5642 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5662 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/166259[166259]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5643 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5663 #, no-wrap msgid "January 26, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5645 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5665 #, 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:5646 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5666 #, no-wrap msgid "700030" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5647 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5667 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/166549[166549]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5648 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5668 #, no-wrap msgid "February 7, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5650 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5670 #, 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:5651 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5671 #, no-wrap msgid "700031" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5652 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5672 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/166907[166907]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5653 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5673 #, no-wrap msgid "February 23, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5655 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5675 #, 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:5656 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5676 #, no-wrap msgid "700032" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5657 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5677 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/167165[167165]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5658 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5678 #, no-wrap msgid "March 2, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5660 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5680 #, 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:5661 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5681 #, no-wrap msgid "700033" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5662 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5682 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/167360[167360]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5663 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5683 #, no-wrap msgid "March 9, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5665 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5685 #, 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:5666 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5686 #, no-wrap msgid "700034" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5667 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5687 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/167684[167684]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5668 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5688 #, no-wrap msgid "March 19, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5670 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5690 #, 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:5671 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5691 #, no-wrap msgid "700035" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5672 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5692 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/167906[167906]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5673 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5693 #, no-wrap msgid "March 26, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5675 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5695 #, 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:5676 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5696 #, no-wrap msgid "700036" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5677 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5697 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/168413[168413]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5678 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6246 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5698 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6266 #, no-wrap msgid "April 6, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5680 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5700 #, no-wrap msgid "7.0-CURRENT after import of the ZFS filesystem." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5681 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5701 #, no-wrap msgid "700037" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5682 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5702 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/168504[168504]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5683 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5703 #, no-wrap msgid "April 8, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5685 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5705 #, 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:5686 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5706 #, no-wrap msgid "700038" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5687 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5707 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/169151[169151]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5688 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5708 #, no-wrap msgid "April 30, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5690 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5710 #, 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:5691 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5711 #, no-wrap msgid "700039" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5692 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5712 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/169190[169190]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5693 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5713 #, no-wrap msgid "May 1, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5695 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5715 #, 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:5696 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5716 #, no-wrap msgid "700040" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5697 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5717 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/169453[169453]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5698 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5718 #, no-wrap msgid "May 10, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5700 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5720 #, 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:5701 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5721 #, no-wrap msgid "700041" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5702 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5722 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/169526[169526]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5703 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5723 #, no-wrap msgid "May 13, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5705 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5725 #, 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:5706 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5726 #, no-wrap msgid "700042" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5707 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5727 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/169758[169758]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5708 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5728 #, no-wrap msgid "May 19, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5710 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5730 #, 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:5711 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5731 #, no-wrap msgid "700043" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5712 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5732 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/169830[169830]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5713 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5733 #, no-wrap msgid "May 21, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5715 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5735 #, 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:5716 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5736 #, no-wrap msgid "700044" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5717 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5737 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/170395[170395]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5718 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5738 #, no-wrap msgid "June 7, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5720 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5740 #, 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:5721 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5741 #, no-wrap msgid "700045" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5722 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5742 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/170510[170510]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5723 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5743 #, no-wrap msgid "June 10, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5725 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5745 #, 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:5726 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5746 #, no-wrap msgid "700046" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5727 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5747 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/170530[170530]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5728 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5733 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6266 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5748 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5753 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6286 #, no-wrap msgid "June 11, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5730 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5750 #, no-wrap msgid "7.0-CURRENT after updated 802.11 wireless support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5731 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5751 #, no-wrap msgid "700047" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5732 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5752 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/170579[170579]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5735 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5755 #, no-wrap msgid "7.0-CURRENT after adding TCP LRO interface capabilities." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5736 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5756 #, no-wrap msgid "700048" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5737 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5757 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/170613[170613]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5738 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5758 #, no-wrap msgid "June 12, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5740 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5760 #, 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:5741 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5761 #, no-wrap msgid "700049" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5742 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5762 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/171175[171175]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5743 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5763 #, no-wrap msgid "July 3, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5745 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5765 #, 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:5747 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5767 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/171167[171167]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5750 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5770 #, 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:5751 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5771 #, no-wrap msgid "700050" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5752 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5772 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/171195[171195]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5753 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5758 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5773 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5778 #, no-wrap msgid "July 4, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5755 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5775 #, 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:5756 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5776 #, no-wrap msgid "700051" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5757 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5777 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/171211[171211]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5760 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5780 #, 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:5761 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5781 #, no-wrap msgid "700052" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5762 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5782 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/171275[171275]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5763 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5783 #, no-wrap msgid "July 6, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5765 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5785 #, 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:5766 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5786 #, no-wrap msgid "700053" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5767 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5787 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/172394[172394]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5768 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5788 #, no-wrap msgid "September 30, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5770 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5790 #, 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:5771 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5791 #, no-wrap msgid "700054" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5772 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5792 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/172988[172988]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5773 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6276 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5793 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6296 #, no-wrap msgid "October 25, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5775 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5795 #, 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:5776 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5796 #, no-wrap msgid "700055" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5777 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5797 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/173104[173104]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5778 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5798 #, no-wrap msgid "October 28, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5780 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5800 #, 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:5781 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5801 #, no-wrap msgid "700100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5782 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5802 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/174864[174864]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5783 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5803 #, no-wrap msgid "December 22, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5785 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5805 #, no-wrap msgid "7.0-STABLE after 7.0-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5786 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5806 #, no-wrap msgid "700101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5787 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5807 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/176111[176111]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5790 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5810 #, no-wrap msgid "7.0-STABLE after the MFC of `m_collapse()`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5791 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5811 #, no-wrap msgid "700102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5792 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5812 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/177735[177735]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5793 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5813 #, no-wrap msgid "March 30, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5795 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5815 #, 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:5796 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5816 #, no-wrap msgid "700103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5797 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5817 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178061[178061]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5800 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5820 #, 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:5801 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5821 #, no-wrap msgid "700104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5802 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5822 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178108[178108]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5803 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5808 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5823 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5828 #, no-wrap msgid "April 11, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5805 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5825 #, 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:5806 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5826 #, no-wrap msgid "700105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5807 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5827 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178120[178120]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5810 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5830 #, no-wrap msgid "7.0-STABLE after the MFC of `umtx` features." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5811 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5831 #, no-wrap msgid "700106" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5812 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5832 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178225[178225]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5813 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5833 #, no-wrap msgid "April 15, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5815 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5835 #, 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:5816 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5836 #, no-wrap msgid "700107" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5817 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5837 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178353[178353]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5820 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5840 #, 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:5821 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5841 #, no-wrap msgid "700108" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5822 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5842 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178783[178783]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5823 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5843 #, no-wrap msgid "May 5, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5825 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5845 #, 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:5826 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5846 #, no-wrap msgid "700109" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5827 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6310 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5847 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6330 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/179367[179367]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5828 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6311 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5848 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6331 #, no-wrap msgid "May 27, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5830 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5850 #, 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:5831 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5851 #, no-wrap msgid "700110" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5832 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5852 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/181328[181328]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5833 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5853 #, no-wrap msgid "August 5, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5835 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5855 #, 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:5836 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5856 #, no-wrap msgid "700111" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5837 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5857 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/181940[181940]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5840 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5860 #, 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:5841 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5861 #, no-wrap msgid "700112" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5842 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5862 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/182294[182294]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5843 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5863 #, no-wrap msgid "August 27, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5845 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5865 #, no-wrap msgid "7.0-STABLE after MFC of kernel DTrace support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5846 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5866 #, no-wrap msgid "701000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5847 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5867 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/185315[185315]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5848 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5853 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5868 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5873 #, no-wrap msgid "November 25, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5850 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5870 #, no-wrap msgid "7.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5851 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5871 #, no-wrap msgid "701100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5852 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5872 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/185302[185302]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5855 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5875 #, no-wrap msgid "7.1-STABLE after 7.1-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5856 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5876 #, no-wrap msgid "701101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5857 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5877 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/187023[187023]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5858 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5878 #, no-wrap msgid "January 10, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5860 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5880 #, no-wrap msgid "7.1-STABLE after man:strndup[3] merge." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5861 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5881 #, no-wrap msgid "701102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5862 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5882 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/187370[187370]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5863 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5883 #, no-wrap msgid "January 17, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5865 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5885 #, no-wrap msgid "7.1-STABLE after man:cpuctl[4] support added." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5866 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5886 #, no-wrap msgid "701103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5867 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5887 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/188281[188281]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5868 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5888 #, no-wrap msgid "February 7, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5870 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5890 #, 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:5871 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5891 #, no-wrap msgid "701104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5872 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5892 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/188625[188625]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5873 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5893 #, no-wrap msgid "February 14, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5875 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5895 #, 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:5876 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5896 #, no-wrap msgid "701105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5877 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5897 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/189740[189740]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5878 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5898 #, no-wrap msgid "March 12, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5880 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5900 #, 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:5881 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5901 #, no-wrap msgid "701106" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5882 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5902 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/189786[189786]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5885 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5905 #, 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:5886 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5906 #, no-wrap msgid "702000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5887 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5907 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191099[191099]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5890 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5910 #, no-wrap msgid "7.2-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5891 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5911 #, no-wrap msgid "702100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5892 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5912 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/191091[191091]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5895 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5915 #, no-wrap msgid "7.2-STABLE after 7.2-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5896 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5916 #, no-wrap msgid "702101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5897 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5917 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/192149[192149]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5898 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5918 #, no-wrap msgid "May 15, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5900 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5920 #, 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:5901 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5921 #, no-wrap msgid "702102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5902 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5922 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/193020[193020]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5903 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5923 #, no-wrap msgid "May 28, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5905 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5925 #, 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:5906 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5926 #, no-wrap msgid "702103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5907 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5927 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/193638[193638]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5908 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5928 #, no-wrap msgid "June 6, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5910 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5930 #, no-wrap msgid "7.2-STABLE after MFC of PmcTools." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5911 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5931 #, no-wrap msgid "702104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5912 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5932 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/195694[195694]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5915 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5935 #, 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:5916 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5936 #, no-wrap msgid "702105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5917 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5937 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/196006[196006]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5918 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5938 #, no-wrap msgid "July 31, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5920 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5940 #, 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:5921 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5941 #, no-wrap msgid "702106" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5922 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5942 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/197198[197198]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5923 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5943 #, no-wrap msgid "September 14, 2009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5925 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5945 #, 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:5926 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5946 #, no-wrap msgid "703000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5927 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5947 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/203740[203740]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5928 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5933 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5948 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5953 #, no-wrap msgid "February 9, 2010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5930 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5950 #, no-wrap msgid "7.3-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5931 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5951 #, no-wrap msgid "703100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5932 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5952 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/203742[203742]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5935 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5955 #, no-wrap msgid "7.3-STABLE after 7.3-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5936 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5956 #, no-wrap msgid "704000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5937 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5957 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/216647[216647]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5940 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5960 #, no-wrap msgid "7.4-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5941 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5961 #, no-wrap msgid "704100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5942 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5962 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/216658[216658]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5945 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5965 #, no-wrap msgid "7.4-STABLE after 7.4-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5946 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5966 #, no-wrap msgid "704101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5947 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5967 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/221318[221318]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5948 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5968 #, no-wrap msgid "May 2, 2011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5949 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5969 #, 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:5952 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5972 #, no-wrap msgid "FreeBSD 6 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5955 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5975 #, no-wrap msgid "FreeBSD 6 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5964 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5984 #, no-wrap msgid "600000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5965 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5985 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/133921[133921]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5966 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5986 #, no-wrap msgid "August 18, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5968 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5988 #, no-wrap msgid "6.0-CURRENT" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5969 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5989 #, no-wrap msgid "600001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5970 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5990 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/134396[134396]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5971 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5991 #, no-wrap msgid "August 27, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5973 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5993 #, 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:5974 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5994 #, no-wrap msgid "600002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5975 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5995 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/134514[134514]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5976 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5996 #, no-wrap msgid "August 30, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5978 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5998 #, 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:5979 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5999 #, no-wrap msgid "600003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5980 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6000 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/134933[134933]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5981 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6001 #, no-wrap msgid "September 8, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5983 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6003 #, 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:5984 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6004 #, no-wrap msgid "600004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5985 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6005 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/135920[135920]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5986 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6006 #, no-wrap msgid "September 29, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5988 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6008 #, 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:5989 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6009 #, no-wrap msgid "600005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5990 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6010 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/136172[136172]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5991 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6011 #, no-wrap msgid "October 5, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5993 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6013 #, 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:5994 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6014 #, no-wrap msgid "600006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5995 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6015 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/137192[137192]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5996 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6016 #, no-wrap msgid "November 4, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:5998 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6018 #, 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:5999 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6019 #, no-wrap msgid "600007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6000 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6020 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/138760[138760]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6001 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6021 #, no-wrap msgid "December 12, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6003 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6023 #, 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:6004 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6024 #, no-wrap msgid "600008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6005 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6025 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/140809[140809]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6006 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6026 #, no-wrap msgid "January 25, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6008 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6028 #, 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:6009 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6029 #, no-wrap msgid "600009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6010 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6030 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/141250[141250]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6011 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6031 #, no-wrap msgid "February 4, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6013 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6033 #, 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:6014 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6034 #, no-wrap msgid "600010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6015 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6035 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/141394[141394]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6016 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6036 #, no-wrap msgid "February 6, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6018 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6038 #, 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:6019 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6039 #, no-wrap msgid "600011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6020 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6040 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/141727[141727]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6021 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6041 #, no-wrap msgid "February 12, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6023 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6043 #, 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:6024 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6044 #, no-wrap msgid "600012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6025 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6045 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/141940[141940]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6026 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6046 #, no-wrap msgid "February 15, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6028 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6048 #, 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:6029 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6049 #, no-wrap msgid "600013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6030 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6050 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/142089[142089]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6031 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6051 #, no-wrap msgid "February 19, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6033 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6053 #, no-wrap msgid "6.0-CURRENT after fixes in [.filename]## and [.filename]## for using the GCC-compatibility of the Intel C/C++ compiler." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6034 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6054 #, no-wrap msgid "600014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6035 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6055 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/142184[142184]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6036 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6056 #, no-wrap msgid "February 21, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6038 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6058 #, 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:6039 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6059 #, no-wrap msgid "600015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6040 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6060 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/142501[142501]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6041 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6061 #, no-wrap msgid "February 25, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6043 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6063 #, 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:6044 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6064 #, no-wrap msgid "600016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6045 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6065 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/142582[142582]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6046 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6066 #, no-wrap msgid "February 26, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6048 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6068 #, no-wrap msgid "6.0-CURRENT after LC_CTYPE disk format changed." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6049 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6069 #, no-wrap msgid "600017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6050 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6070 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/142683[142683]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6051 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6056 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6899 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6071 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6076 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6919 #, no-wrap msgid "February 27, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6053 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6073 #, no-wrap msgid "6.0-CURRENT after NLS catalogs disk format changed." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6054 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6074 #, no-wrap msgid "600018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6055 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6075 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/142686[142686]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6058 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6078 #, no-wrap msgid "6.0-CURRENT after LC_COLLATE disk format changed." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6059 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6079 #, no-wrap msgid "600019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6060 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6080 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/142752[142752]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6061 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6904 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6081 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6924 #, no-wrap msgid "February 28, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6063 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6083 #, no-wrap msgid "Installation of `acpica` includes into /usr/include." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6064 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6084 #, no-wrap msgid "600020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6065 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6085 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/143308[143308]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6066 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6086 #, no-wrap msgid "March 9, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6068 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6088 #, 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:6069 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6089 #, no-wrap msgid "600021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6070 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6090 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/143746[143746]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6071 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6091 #, no-wrap msgid "March 17, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6073 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6093 #, no-wrap msgid "Addition of fields to cdevsw" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6074 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6094 #, no-wrap msgid "600022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6075 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6095 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/143901[143901]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6076 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6096 #, no-wrap msgid "March 21, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6078 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6098 #, no-wrap msgid "Removed gtar from base system." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6079 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6099 #, no-wrap msgid "600023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6080 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6100 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/144980[144980]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6081 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6101 #, no-wrap msgid "April 13, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6083 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6103 #, 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:6084 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6104 #, no-wrap msgid "600024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6085 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6090 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6105 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6110 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/145565[145565]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6086 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6106 #, no-wrap msgid "April 19, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6088 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6108 #, 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:6089 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6109 #, no-wrap msgid "600025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6091 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6111 #, no-wrap msgid "April 26, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6093 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6113 #, no-wrap msgid "struct `icmphdr` added to 6.0-CURRENT." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6094 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6114 #, no-wrap msgid "600026" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6095 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6115 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/145843[145843]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6096 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6116 #, no-wrap msgid "May 3, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6098 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6118 #, no-wrap msgid "pf updated to 3.7." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6099 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6119 #, no-wrap msgid "600027" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6100 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6120 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/145966[145966]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6101 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6121 #, no-wrap msgid "May 6, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6103 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6123 #, no-wrap msgid "Kernel libalias and `ng_nat` introduced." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6104 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6124 #, no-wrap msgid "600028" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6105 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6125 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/146191[146191]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6106 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6126 #, no-wrap msgid "May 13, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6108 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6128 #, 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:6109 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6129 #, no-wrap msgid "600029" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6110 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6130 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/146780[146780]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6111 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6131 #, no-wrap msgid "May 29, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6113 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6133 #, 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:6114 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6134 #, no-wrap msgid "600030" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6115 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6135 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/146988[146988]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6116 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6136 #, no-wrap msgid "June 5, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6118 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6138 #, 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:6119 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6139 #, no-wrap msgid "600031" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6120 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6140 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/147256[147256]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6121 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6141 #, no-wrap msgid "June 10, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6123 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6143 #, 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:6124 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6144 #, no-wrap msgid "600032" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6125 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6145 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/147898[147898]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6128 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6148 #, 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:6129 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6149 #, no-wrap msgid "600033" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6130 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6150 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/148388[148388]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6131 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6151 #, no-wrap msgid "July 25, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6133 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6153 #, 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:6134 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6154 #, no-wrap msgid "600034" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6135 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6155 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/149040[149040]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6138 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6158 #, 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:6139 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6159 #, no-wrap msgid "600100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6140 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6160 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/151958[151958]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6141 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6161 #, no-wrap msgid "November 1, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6143 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6163 #, no-wrap msgid "6.0-STABLE after 6.0-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6144 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6164 #, no-wrap msgid "600101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6145 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6165 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/153601[153601]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6146 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6166 #, no-wrap msgid "December 21, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6148 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6168 #, 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:6149 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6169 #, no-wrap msgid "600102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6150 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6170 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/153912[153912]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6151 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6171 #, no-wrap msgid "December 30, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6153 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6173 #, 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:6154 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6174 #, no-wrap msgid "600103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6155 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6175 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/154396[154396]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6156 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6176 #, no-wrap msgid "January 15, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6158 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6178 #, 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:6159 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6179 #, no-wrap msgid "600104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6160 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6180 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/154453[154453]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6161 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6944 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6181 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6964 #, no-wrap msgid "January 17, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6163 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6183 #, 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:6164 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6184 #, no-wrap msgid "600105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6165 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6185 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/156019[156019]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6166 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6186 #, no-wrap msgid "February 26, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6168 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6188 #, 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:6169 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6189 #, no-wrap msgid "601000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6170 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6190 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/158330[158330]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6171 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6176 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6191 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6196 #, no-wrap msgid "May 6, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6173 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6193 #, no-wrap msgid "6.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6174 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6194 #, no-wrap msgid "601100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6175 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6195 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/158331[158331]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6178 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6198 #, no-wrap msgid "6.1-STABLE after 6.1-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6179 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6199 #, no-wrap msgid "601101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6180 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6200 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/159861[159861]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6181 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6201 #, no-wrap msgid "June 22, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6183 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6203 #, no-wrap msgid "6.1-STABLE after the import of `csup`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6184 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6204 #, no-wrap msgid "601102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6185 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6205 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/160253[160253]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6186 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6206 #, no-wrap msgid "July 11, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6188 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6208 #, no-wrap msgid "6.1-STABLE after the man:iwi[4] update." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6189 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6209 #, no-wrap msgid "601103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6190 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6210 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/160429[160429]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6191 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6211 #, no-wrap msgid "July 17, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6193 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6213 #, 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:6194 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6214 #, no-wrap msgid "601104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6195 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6215 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/161098[161098]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6196 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6216 #, no-wrap msgid "August 8, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6198 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6218 #, 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:6199 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6219 #, no-wrap msgid "601105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6200 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6220 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/161900[161900]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6201 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6221 #, no-wrap msgid "September 2, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6203 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6223 #, 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:6204 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6224 #, no-wrap msgid "602000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6205 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6225 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/164312[164312]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6206 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6226 #, no-wrap msgid "November 15, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6208 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6228 #, no-wrap msgid "6.2-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6209 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6229 #, no-wrap msgid "602100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6210 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6230 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/162329[162329]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6211 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6231 #, no-wrap msgid "September 15, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6213 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6233 #, no-wrap msgid "6.2-STABLE after 6.2-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6214 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6234 #, no-wrap msgid "602101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6215 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6235 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/165122[165122]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6216 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6236 #, no-wrap msgid "December 12, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6218 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6238 #, 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:6219 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6239 #, no-wrap msgid "602102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6220 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6240 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/165596[165596]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6221 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6241 #, no-wrap msgid "December 28, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6223 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6243 #, no-wrap msgid "6.2-STABLE after `pci_find_extcap()` addition." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6224 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6244 #, no-wrap msgid "602103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6225 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6245 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/166039[166039]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6226 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6246 #, no-wrap msgid "January 16, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6228 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6248 #, 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:6229 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6249 #, no-wrap msgid "602104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6230 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6250 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/166314[166314]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6231 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6251 #, no-wrap msgid "January 28, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6233 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6253 #, 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:6234 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6254 #, no-wrap msgid "602105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6235 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6255 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/166840[166840]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6236 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6256 #, no-wrap msgid "February 20, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6238 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6258 #, 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:6239 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6259 #, no-wrap msgid "602106" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6240 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6260 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/168133[168133]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6241 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6261 #, no-wrap msgid "March 31, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6243 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6263 #, 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:6244 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6264 #, no-wrap msgid "602107" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6245 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6265 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/168438[168438]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6248 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6268 #, 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:6249 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6269 #, no-wrap msgid "602108" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6250 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6270 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/168611[168611]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6251 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6271 #, no-wrap msgid "April 11, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6253 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6273 #, 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:6254 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6274 #, no-wrap msgid "602109" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6255 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6275 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/168805[168805]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6256 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6276 #, no-wrap msgid "April 17, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6258 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6278 #, 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:6259 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6279 #, no-wrap msgid "602110" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6260 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6280 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/169222[169222]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6261 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6281 #, no-wrap msgid "May 2, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6263 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6283 #, 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:6264 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6284 #, no-wrap msgid "602111" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6265 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6285 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/170556[170556]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6268 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6288 #, 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:6269 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6289 #, no-wrap msgid "602112" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6270 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6290 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/172284[172284]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6271 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6291 #, no-wrap msgid "September 21, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6273 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6293 #, no-wrap msgid "6.2-STABLE after man:libutil[3] MFC's." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6274 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6294 #, no-wrap msgid "602113" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6275 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6295 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/172986[172986]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6278 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6298 #, 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:6279 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6299 #, no-wrap msgid "602114" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6280 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6300 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/173170[173170]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6281 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6301 #, no-wrap msgid "October 30, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6283 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6303 #, no-wrap msgid "6.2-STABLE after ctype ABI forward compatibility restored." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6284 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6304 #, no-wrap msgid "602115" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6285 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6305 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/173794[173794]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6286 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6306 #, no-wrap msgid "November 21, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6288 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6308 #, 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:6289 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6309 #, no-wrap msgid "603000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6290 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6310 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/173897[173897]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6291 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6296 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6311 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6316 #, no-wrap msgid "November 25, 2007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6293 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6313 #, no-wrap msgid "6.3-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6294 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6314 #, no-wrap msgid "603100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6295 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6315 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/173891[173891]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6298 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6318 #, no-wrap msgid "6.3-STABLE after 6.3-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6300 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6320 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/174434[174434]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6303 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6323 #, 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:6304 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6324 #, no-wrap msgid "603102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6305 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6325 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/178459[178459]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6306 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6326 #, no-wrap msgid "April 24, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6308 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6328 #, 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:6309 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6329 #, no-wrap msgid "603103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6313 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6333 #, 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:6314 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6334 #, no-wrap msgid "603104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6315 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6335 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/179810[179810]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6316 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6336 #, no-wrap msgid "June 15, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6318 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6338 #, 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:6319 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6339 #, no-wrap msgid "604000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6320 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6340 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/183583[183583]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6321 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6326 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6341 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6346 #, no-wrap msgid "October 4, 2008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6323 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6343 #, no-wrap msgid "6.4-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6324 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6344 #, no-wrap msgid "604100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6325 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6345 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/183584[183584]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6327 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6347 #, no-wrap msgid "6.4-STABLE after 6.4-RELEASE." msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6330 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6350 #, no-wrap msgid "FreeBSD 5 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6333 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6353 #, no-wrap msgid "FreeBSD 5 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6342 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6362 #, no-wrap msgid "500000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6343 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6363 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/58009[58009]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6344 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7057 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6364 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7077 #, no-wrap msgid "March 13, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6346 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6366 #, no-wrap msgid "5.0-CURRENT" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6347 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6367 #, no-wrap msgid "500001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6348 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6368 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/59348[59348]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6349 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6369 #, no-wrap msgid "April 18, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6351 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6371 #, 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:6352 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6372 #, no-wrap msgid "500002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6353 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6373 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/59906[59906]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6354 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6374 #, no-wrap msgid "May 2, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6356 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6376 #, no-wrap msgid "5.0-CURRENT after kld metadata changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6357 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6377 #, no-wrap msgid "500003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6358 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6378 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/60688[60688]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6359 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6379 #, no-wrap msgid "May 18, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6361 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6381 #, no-wrap msgid "5.0-CURRENT after buf/bio changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6362 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6382 #, no-wrap msgid "500004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6363 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6383 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/60936[60936]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6364 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6384 #, no-wrap msgid "May 26, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6366 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6386 #, no-wrap msgid "5.0-CURRENT after binutils upgrade." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6367 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6387 #, no-wrap msgid "500005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6368 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6388 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/61221[61221]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6369 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6389 #, no-wrap msgid "June 3, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6371 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6391 #, 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:6372 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6392 #, no-wrap msgid "500006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6373 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6393 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/61500[61500]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6374 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6394 #, no-wrap msgid "June 10, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6376 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6396 #, no-wrap msgid "5.0-CURRENT after the addition of AGP interfaces." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6377 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6397 #, no-wrap msgid "500007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6378 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6398 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/62235[62235]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6379 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6399 #, no-wrap msgid "June 29, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6381 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6401 #, 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:6382 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6402 #, no-wrap msgid "500008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6383 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6403 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/62764[62764]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6384 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6404 #, no-wrap msgid "July 7, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6386 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6406 #, 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:6387 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6407 #, no-wrap msgid "500009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6388 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6408 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/63154[63154]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6389 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7082 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6409 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7102 #, no-wrap msgid "July 14, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6391 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6411 #, 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:6392 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6412 #, no-wrap msgid "500010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6393 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6413 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/63265[63265]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6394 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6414 #, no-wrap msgid "July 16, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6396 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6416 #, 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:6397 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6417 #, no-wrap msgid "500011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6398 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6418 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/63459[63459]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6399 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6419 #, no-wrap msgid "July 18, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6401 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6421 #, no-wrap msgid "5.0-CURRENT after kqueue API changed." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6402 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6422 #, no-wrap msgid "500012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6403 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6423 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/65353[65353]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6404 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6424 #, no-wrap msgid "September 2, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6406 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6426 #, 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:6407 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6427 #, no-wrap msgid "500013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6408 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6428 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/65671[65671]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6409 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6429 #, no-wrap msgid "September 10, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6411 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6431 #, no-wrap msgid "5.0-CURRENT after the first SMPng commit." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6412 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6432 #, no-wrap msgid "500014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6413 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6433 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/70650[70650]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6414 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6434 #, no-wrap msgid "January 4, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6416 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6436 #, no-wrap msgid "5.0-CURRENT after moved to ." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6417 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6437 #, no-wrap msgid "500015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6418 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6438 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/70894[70894]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6419 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7112 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6439 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7132 #, no-wrap msgid "January 10, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6421 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6441 #, 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:6422 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6442 #, no-wrap msgid "500016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6423 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6443 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/71583[71583]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6424 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6444 #, no-wrap msgid "January 24, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6426 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6446 #, 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:6427 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6447 #, no-wrap msgid "500017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6428 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6448 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/72650[72650]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6429 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6449 #, no-wrap msgid "February 18, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6431 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6451 #, 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:6432 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6452 #, no-wrap msgid "500018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6433 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6453 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/72975[72975]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6434 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6454 #, no-wrap msgid "February 24, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6436 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6456 #, 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:6437 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6457 #, no-wrap msgid "500019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6438 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6458 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/77937[77937]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6439 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6459 #, no-wrap msgid "June 9, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6441 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6461 #, 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:6442 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6462 #, no-wrap msgid "500020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6443 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6463 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/78304[78304]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6444 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6464 #, no-wrap msgid "June 15, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6446 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6466 #, no-wrap msgid "5.0-CURRENT after locale names renaming." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6447 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6467 #, no-wrap msgid "500021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6448 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6468 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/78632[78632]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6449 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6469 #, no-wrap msgid "June 22, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6451 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6471 #, 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:6452 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6472 #, no-wrap msgid "500022" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6453 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6458 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6473 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6478 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/83435[83435]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6454 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6474 #, no-wrap msgid "July 12, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6456 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6476 #, no-wrap msgid "5.0-CURRENT after SSE support." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6457 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6477 #, no-wrap msgid "500023" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6459 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6479 #, no-wrap msgid "September 14, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6461 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6481 #, no-wrap msgid "5.0-CURRENT after KSE Milestone 2." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6462 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6482 #, no-wrap msgid "500024" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6463 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6483 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/84324[84324]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6464 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6484 #, no-wrap msgid "October 1, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6466 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6486 #, 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:6467 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6487 #, no-wrap msgid "500025" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6468 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6488 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/84481[84481]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6469 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6489 #, no-wrap msgid "October 4, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6471 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6491 #, 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:6472 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6492 #, no-wrap msgid "500026" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6473 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6493 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/84710[84710]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6474 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6494 #, no-wrap msgid "October 9, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6476 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6496 #, 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:6477 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6497 #, no-wrap msgid "500027" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6478 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6498 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/84743[84743]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6479 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6499 #, no-wrap msgid "October 10, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6481 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6501 #, 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:6482 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6502 #, no-wrap msgid "500028" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6483 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6503 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/87879[87879]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6484 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6504 #, no-wrap msgid "December 14, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6486 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6506 #, 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:6491 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6511 #, 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:6492 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6512 #, no-wrap msgid "500029" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6493 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6513 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/89938[89938]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6494 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6514 #, no-wrap msgid "January 29, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6496 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6516 #, 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:6497 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6517 #, no-wrap msgid "500030" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6498 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6518 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/90711[90711]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6499 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6519 #, no-wrap msgid "February 15, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6501 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6521 #, 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:6502 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6522 #, no-wrap msgid "500031" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6503 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7156 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6523 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7176 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/91203[91203]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6504 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7157 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6524 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7177 #, no-wrap msgid "February 24, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6506 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6526 #, no-wrap msgid "5.0-CURRENT after the usb structure element rename." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6507 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6527 #, no-wrap msgid "500032" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6508 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6528 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/92453[92453]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6509 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6529 #, no-wrap msgid "March 16, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6511 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6531 #, 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:6512 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6532 #, no-wrap msgid "500033" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6513 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6533 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/93722[93722]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6514 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6534 #, no-wrap msgid "April 3, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6516 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6536 #, 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:6517 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6537 #, no-wrap msgid "500034" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6518 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6538 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/95831[95831]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6519 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6539 #, no-wrap msgid "April 30, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6521 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6541 #, 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:6522 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6542 #, no-wrap msgid "500035" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6523 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6543 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/96498[96498]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6524 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6544 #, no-wrap msgid "May 13, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6526 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6546 #, no-wrap msgid "5.0-CURRENT with Gcc 3.1." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6527 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6547 #, no-wrap msgid "500036" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6528 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6548 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/96781[96781]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6529 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6549 #, no-wrap msgid "May 17, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6531 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6551 #, no-wrap msgid "5.0-CURRENT without Perl in /usr/src" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6532 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6552 #, no-wrap msgid "500037" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6533 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6553 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/97516[97516]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6534 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6554 #, no-wrap msgid "May 29, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6536 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6556 #, 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:6537 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6557 #, no-wrap msgid "500038" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6538 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6558 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/100591[100591]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6539 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6559 #, no-wrap msgid "July 24, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6541 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6561 #, 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:6542 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6562 #, no-wrap msgid "500039" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6543 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6563 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/102757[102757]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6544 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7212 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6564 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7232 #, no-wrap msgid "September 1, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6546 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6566 #, 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:6547 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6567 #, no-wrap msgid "500040" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6548 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6568 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/103675[103675]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6549 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6569 #, no-wrap msgid "September 20, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6551 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6571 #, 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:6552 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6572 #, no-wrap msgid "500041" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6553 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6573 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/104250[104250]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6554 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6574 #, no-wrap msgid "October 1, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6556 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6576 #, 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:6557 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6577 #, no-wrap msgid "500042" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6558 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6578 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/105178[105178]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6559 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6579 #, no-wrap msgid "October 15, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6561 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6581 #, 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:6562 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6582 #, no-wrap msgid "500043" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6563 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6583 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/106289[106289]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6564 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6584 #, no-wrap msgid "November 1, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6566 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6586 #, 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:6567 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6587 #, no-wrap msgid "500100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6568 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6588 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/109405[109405]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6569 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6589 #, no-wrap msgid "January 17, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6571 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6591 #, no-wrap msgid "5.0-CURRENT after branching for RELENG_5_0" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6572 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6592 #, no-wrap msgid "500101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6573 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6593 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/111120[111120]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6574 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6594 #, no-wrap msgid "February 19, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6576 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6596 #, no-wrap msgid " is empty. Do not include it." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6577 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6597 #, no-wrap msgid "500102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6578 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6598 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/111482[111482]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6579 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6599 #, no-wrap msgid "February 25, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6581 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6601 #, 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:6582 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6602 #, no-wrap msgid "500103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6583 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6603 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/111540[111540]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6584 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6604 #, no-wrap msgid "February 26, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6586 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6606 #, 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:6587 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6607 #, no-wrap msgid "500104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6588 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6608 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/111600[111600]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6589 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6609 #, no-wrap msgid "February 27, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6591 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6611 #, 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:6592 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6612 #, no-wrap msgid "500105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6593 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6613 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/111864[111864]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6594 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6614 #, no-wrap msgid "March 4, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6596 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6616 #, no-wrap msgid "5.0-CURRENT after new cdevsw initialization method." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6597 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6617 #, no-wrap msgid "500106" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6598 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6618 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/112007[112007]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6599 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6619 #, no-wrap msgid "March 8, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6601 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6621 #, 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:6602 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6622 #, no-wrap msgid "500107" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6603 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6623 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/112288[112288]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6604 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6609 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6624 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6629 #, no-wrap msgid "March 15, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6606 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6626 #, 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:6607 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6627 #, no-wrap msgid "500108" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6608 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6628 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/112300[112300]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6611 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6631 #, no-wrap msgid "Token-Ring interface changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6612 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6632 #, no-wrap msgid "500109" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6613 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6633 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/112571[112571]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6614 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6634 #, no-wrap msgid "March 25, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6616 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6636 #, no-wrap msgid "Addition of `vm_paddr_t`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6617 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6637 #, no-wrap msgid "500110" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6618 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6638 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/112741[112741]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6619 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6639 #, no-wrap msgid "March 28, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6621 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6641 #, 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:6622 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6642 #, no-wrap msgid "500111" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6623 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6643 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/113273[113273]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6624 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6644 #, no-wrap msgid "April 9, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6626 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6646 #, 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:6627 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6647 #, no-wrap msgid "500112" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6628 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6648 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/113597[113597]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6629 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6649 #, no-wrap msgid "April 17, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6631 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6651 #, 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:6632 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6652 #, no-wrap msgid "500113" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6633 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6653 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/114492[114492]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6634 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6654 #, no-wrap msgid "May 2, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6636 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6656 #, 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:6637 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6657 #, no-wrap msgid "501000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6638 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6658 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/115816[115816]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6639 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6659 #, no-wrap msgid "June 4, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6641 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6661 #, no-wrap msgid "5.1-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6642 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6662 #, no-wrap msgid "501100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6643 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6663 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/115710[115710]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6644 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6664 #, no-wrap msgid "June 2, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6646 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6666 #, no-wrap msgid "5.1-CURRENT after branching for RELENG_5_1." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6647 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6667 #, no-wrap msgid "501101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6648 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6668 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/117025[117025]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6649 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6669 #, no-wrap msgid "June 29, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6651 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6671 #, 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:6652 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6672 #, no-wrap msgid "501102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6653 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6673 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/117191[117191]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6654 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6674 #, no-wrap msgid "July 3, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6656 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6676 #, 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:6657 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6677 #, no-wrap msgid "501103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6658 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6678 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/118241[118241]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6659 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6679 #, no-wrap msgid "July 31, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6661 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6681 #, 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:6662 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6682 #, no-wrap msgid "501104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6663 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6683 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/118511[118511]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6664 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6684 #, no-wrap msgid "August 5, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6666 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6686 #, no-wrap msgid "5.1-CURRENT 3ware API changes to twe." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6667 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6687 #, no-wrap msgid "501105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6668 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6688 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/119021[119021]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6669 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6689 #, no-wrap msgid "August 17, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6671 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6691 #, 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:6672 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6692 #, no-wrap msgid "501106" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6673 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6693 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/119881[119881]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6674 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6694 #, no-wrap msgid "September 8, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6676 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6696 #, 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:6677 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6697 #, no-wrap msgid "501107" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6678 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6698 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/120180[120180]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6679 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6699 #, no-wrap msgid "September 17, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6681 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6701 #, no-wrap msgid "5.1-CURRENT after 16550 UART constants moved from [.filename]## to [.filename]##. Also when libmap functionality was unconditionally supported by rtld." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6682 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6702 #, no-wrap msgid "501108" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6683 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6703 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/120386[120386]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6684 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6704 #, no-wrap msgid "September 23, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6686 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6706 #, no-wrap msgid "5.1-CURRENT after PFIL_HOOKS API update" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6687 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6707 #, no-wrap msgid "501109" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6688 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6708 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/120503[120503]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6689 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6709 #, no-wrap msgid "September 27, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6691 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6711 #, no-wrap msgid "5.1-CURRENT after adding man:kiconv[3]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6692 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6712 #, no-wrap msgid "501110" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6693 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6713 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/120556[120556]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6694 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6714 #, no-wrap msgid "September 28, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6696 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6716 #, 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:6697 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6717 #, no-wrap msgid "501111" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6698 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6718 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/121125[121125]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6699 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6704 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6719 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6724 #, no-wrap msgid "October 16, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6701 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6721 #, no-wrap msgid "5.1-CURRENT after changed layout of cdevsw" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6702 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6722 #, no-wrap msgid "501112" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6703 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6723 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/121129[121129]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6706 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6726 #, no-wrap msgid "5.1-CURRENT after adding kobj multiple inheritance" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6707 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6727 #, no-wrap msgid "501113" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6708 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6728 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/121816[121816]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6709 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6729 #, no-wrap msgid "October 31, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6711 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6731 #, 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:6712 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6732 #, no-wrap msgid "501114" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6713 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6733 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/122779[122779]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6714 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6734 #, no-wrap msgid "November 16, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6716 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6736 #, 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:6717 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6737 #, no-wrap msgid "502000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6718 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6738 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/123198[123198]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6719 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6729 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6739 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6749 #, no-wrap msgid "December 7, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6721 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6741 #, no-wrap msgid "5.2-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6722 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6742 #, no-wrap msgid "502010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6723 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6743 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/126150[126150]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6724 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6744 #, no-wrap msgid "February 23, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6726 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6746 #, no-wrap msgid "5.2.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6727 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6747 #, no-wrap msgid "502100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6728 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6748 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/123196[123196]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6731 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6751 #, no-wrap msgid "5.2-CURRENT after branching for RELENG_5_2" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6732 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6752 #, no-wrap msgid "502101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6733 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6753 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/123677[123677]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6734 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6754 #, no-wrap msgid "December 19, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6736 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6756 #, 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:6737 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6757 #, no-wrap msgid "502102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6738 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6758 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/125236[125236]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6739 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6759 #, no-wrap msgid "January 30, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6741 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6761 #, 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:6742 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6762 #, no-wrap msgid "502103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6743 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6763 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/126083[126083]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6744 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6764 #, no-wrap msgid "February 21, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6746 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6766 #, no-wrap msgid "5.2-CURRENT after device driver API mega patch." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6747 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6767 #, no-wrap msgid "502104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6748 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6768 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/126208[126208]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6749 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6769 #, no-wrap msgid "February 25, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6751 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6771 #, no-wrap msgid "5.2-CURRENT after `getopt_long_only()` addition." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6752 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6772 #, no-wrap msgid "502105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6753 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6773 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/126644[126644]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6754 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6774 #, no-wrap msgid "March 5, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6756 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6776 #, 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:6757 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6777 #, no-wrap msgid "502106" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6758 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6778 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/126757[126757]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6759 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6779 #, no-wrap msgid "March 8, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6761 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6781 #, 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:6762 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6782 #, no-wrap msgid "502107" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6763 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6783 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/126819[126819]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6764 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6784 #, no-wrap msgid "March 10, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6766 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6786 #, 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:6767 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6787 #, no-wrap msgid "502108" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6768 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6788 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/126891[126891]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6769 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6789 #, no-wrap msgid "March 12, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6771 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6791 #, 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:6772 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6792 #, no-wrap msgid "502109" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6773 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6793 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/127312[127312]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6774 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6794 #, no-wrap msgid "March 22, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6776 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6796 #, 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:6777 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6797 #, no-wrap msgid "502110" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6778 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6798 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/127475[127475]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6779 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6799 #, no-wrap msgid "March 27, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6781 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6801 #, 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:6782 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6802 #, no-wrap msgid "502111" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6783 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6803 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/128144[128144]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6784 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6804 #, no-wrap msgid "April 11, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6786 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6806 #, 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:6787 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6807 #, no-wrap msgid "502112" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6788 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6808 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/128182[128182]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6789 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6809 #, no-wrap msgid "April 13, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6791 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6811 #, 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:6792 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6812 #, no-wrap msgid "502113" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6793 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6813 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/130057[130057]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6794 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6814 #, no-wrap msgid "June 4, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6796 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6816 #, 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:6797 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6817 #, no-wrap msgid "502114" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6798 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6818 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/130418[130418]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6799 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6819 #, no-wrap msgid "June 13, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6801 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6821 #, no-wrap msgid "5.2-CURRENT after import of the ALTQ framework." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6802 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6822 #, no-wrap msgid "502115" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6803 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6823 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/130481[130481]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6804 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6824 #, no-wrap msgid "June 14, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6806 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6826 #, 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:6807 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6827 #, no-wrap msgid "502116" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6808 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6828 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/130585[130585]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6809 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6829 #, no-wrap msgid "June 16, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6811 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6831 #, 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:6812 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6832 #, no-wrap msgid "502117" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6813 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6833 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/130640[130640]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6814 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6819 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6834 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6839 #, no-wrap msgid "June 17, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6816 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6836 #, 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:6817 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6837 #, no-wrap msgid "502118" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6818 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6838 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/130656[130656]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6821 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6841 #, 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:6822 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6842 #, no-wrap msgid "502119" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6823 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6843 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/130934[130934]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6824 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6844 #, no-wrap msgid "June 22, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6826 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6846 #, no-wrap msgid "5.2-CURRENT after changing network interface cloning overhaul." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6827 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6847 #, no-wrap msgid "502120" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6828 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6848 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/131429[131429]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6829 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6849 #, no-wrap msgid "July 2, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6831 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6851 #, 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:6832 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6852 #, no-wrap msgid "502121" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6833 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6853 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/131883[131883]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6834 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6854 #, no-wrap msgid "July 9, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6836 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6856 #, 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:6837 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6857 #, no-wrap msgid "502122" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6838 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6858 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/131971[131971]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6839 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6859 #, no-wrap msgid "July 11, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6841 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6861 #, 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:6842 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6862 #, no-wrap msgid "502123" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6843 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6863 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/132025[132025]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6844 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6864 #, no-wrap msgid "July 12, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6846 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6866 #, 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:6847 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6867 #, no-wrap msgid "502124" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6848 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6868 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/132597[132597]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6849 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6869 #, no-wrap msgid "July 24, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6851 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6871 #, 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:6852 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6872 #, no-wrap msgid "502125" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6853 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6873 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/132726[132726]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6854 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6874 #, no-wrap msgid "July 28, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6856 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6876 #, 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:6857 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6877 #, no-wrap msgid "502126" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6858 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6878 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/132914[132914]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6859 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6879 #, no-wrap msgid "July 31, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6861 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6881 #, 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:6862 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6882 #, no-wrap msgid "502127" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6863 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6883 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/132991[132991]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6864 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6884 #, no-wrap msgid "August 2, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6866 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6886 #, 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:6867 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6887 #, no-wrap msgid "502128" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6868 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6888 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/133306[133306]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6869 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6889 #, no-wrap msgid "August 8, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6871 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6891 #, 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:6872 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6892 #, no-wrap msgid "503000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6873 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6893 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/134189[134189]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6874 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6894 #, no-wrap msgid "August 23, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6876 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6896 #, no-wrap msgid "5.3-BETA/RC before the pfil API change" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6877 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6897 #, no-wrap msgid "503001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6878 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6898 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/135580[135580]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6879 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6899 #, no-wrap msgid "September 22, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6881 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6901 #, no-wrap msgid "5.3-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6882 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6902 #, no-wrap msgid "503100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6883 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6903 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/136595[136595]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6884 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6904 #, no-wrap msgid "October 16, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6886 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6906 #, no-wrap msgid "5.3-STABLE after branching for RELENG_5_3" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6887 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6907 #, no-wrap msgid "503101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6888 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6908 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/138459[138459]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6889 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6909 #, no-wrap msgid "December 3, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6891 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6911 #, 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:6892 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6912 #, no-wrap msgid "503102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6893 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6913 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/141788[141788]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6894 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6914 #, no-wrap msgid "February 13, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6896 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6916 #, 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:6897 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6917 #, no-wrap msgid "503103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6898 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6918 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/142639[142639]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6901 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6921 #, no-wrap msgid "5.4-PRERELEASE after the MFC of the fixes in [.filename]## and [.filename]## for using the GCC-compatibility of the Intel C/C++ compiler." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6902 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6922 #, no-wrap msgid "503104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6903 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6923 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/142835[142835]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6906 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6926 #, 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:6907 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6927 #, no-wrap msgid "503105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6908 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6928 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/143029[143029]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6909 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6929 #, no-wrap msgid "March 2, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6911 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6931 #, 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:6912 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6932 #, no-wrap msgid "504000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6913 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6933 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/144575[144575]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6914 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6919 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6934 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6939 #, no-wrap msgid "April 3, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6916 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6936 #, no-wrap msgid "5.4-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6917 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6937 #, no-wrap msgid "504100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6918 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6938 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/144581[144581]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6921 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6941 #, no-wrap msgid "5.4-STABLE after branching for RELENG_5_4" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6922 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6942 #, no-wrap msgid "504101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6923 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6943 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/146105[146105]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6924 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6944 #, no-wrap msgid "May 11, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6926 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6946 #, no-wrap msgid "5.4-STABLE after increasing the default thread stacksizes" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6927 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6947 #, no-wrap msgid "504102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6928 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6948 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/504101[504101]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6929 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6949 #, no-wrap msgid "June 24, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6931 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6951 #, no-wrap msgid "5.4-STABLE after the addition of sha256" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6932 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6952 #, no-wrap msgid "504103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6933 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6953 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/150892[150892]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6934 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6954 #, no-wrap msgid "October 3, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6936 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6956 #, no-wrap msgid "5.4-STABLE after the MFC of if_bridge" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6937 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6957 #, no-wrap msgid "504104" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6938 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6958 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/152370[152370]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6939 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6959 #, no-wrap msgid "November 13, 2005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6941 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6961 #, 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:6942 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6962 #, no-wrap msgid "504105" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6943 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6963 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/154464[154464]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6946 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6966 #, 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:6947 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6967 #, no-wrap msgid "505000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6948 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6968 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/158481[158481]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6949 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6954 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6969 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6974 #, no-wrap msgid "May 12, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6951 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6971 #, no-wrap msgid "5.5-RELEASE." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6952 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6972 #, no-wrap msgid "505100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6953 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6973 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/158482[158482]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6955 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6975 #, no-wrap msgid "5.5-STABLE after branching for RELENG_5_5" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6958 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6978 #, no-wrap msgid "FreeBSD 4 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6961 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6981 #, no-wrap msgid "FreeBSD 4 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6970 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6990 #, no-wrap msgid "400000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6971 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6991 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/43041[43041]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6972 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7365 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6992 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7385 #, no-wrap msgid "January 22, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6974 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6994 #, no-wrap msgid "4.0-CURRENT after 3.4 branch" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6975 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6995 #, no-wrap msgid "400001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6976 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6996 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/44177[44177]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6977 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6997 #, no-wrap msgid "February 20, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6979 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6999 #, no-wrap msgid "4.0-CURRENT after change in dynamic linker handling" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6980 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7000 #, no-wrap msgid "400002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6981 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7001 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/44699[44699]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6982 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7002 #, no-wrap msgid "March 13, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6984 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7004 #, no-wrap msgid "4.0-CURRENT after C++ constructor/destructor order change" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6985 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7005 #, no-wrap msgid "400003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6986 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7006 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/45059[45059]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6987 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7375 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7007 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7395 #, no-wrap msgid "March 27, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6989 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7009 #, no-wrap msgid "4.0-CURRENT after functioning man:dladdr[3]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6990 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7010 #, no-wrap msgid "400004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6991 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7011 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/45321[45321]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6992 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7012 #, no-wrap msgid "April 5, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6994 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7014 #, 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:6995 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7015 #, no-wrap msgid "400005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6996 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7016 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/46113[46113]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6997 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7017 #, no-wrap msgid "April 27, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:6999 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7019 #, 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:7000 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7020 #, no-wrap msgid "400006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7001 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7021 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/47640[47640]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7002 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7022 #, no-wrap msgid "May 31, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7004 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7024 #, no-wrap msgid "4.0-CURRENT after cdevsw registration change" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7005 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7025 #, no-wrap msgid "400007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7006 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7026 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/47992[47992]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7007 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7027 #, no-wrap msgid "June 17, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7009 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7029 #, 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:7010 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7030 #, no-wrap msgid "400008" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7011 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7031 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/48048[48048]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7012 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7032 #, no-wrap msgid "June 20, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7014 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7034 #, 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:7015 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7035 #, no-wrap msgid "400009" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7016 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7036 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/48936[48936]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7017 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7037 #, no-wrap msgid "July 20, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7019 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7039 #, 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:7020 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7040 #, no-wrap msgid "400010" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7021 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7041 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/51649[51649]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7022 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7042 #, no-wrap msgid "September 25, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7024 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7044 #, 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:7025 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7045 #, no-wrap msgid "400011" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7026 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7046 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/51791[51791]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7027 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7047 #, no-wrap msgid "September 29, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7029 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7049 #, no-wrap msgid "4.0-CURRENT after the `sigset_t` datatype change" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7030 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7050 #, no-wrap msgid "400012" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7031 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7051 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/53164[53164]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7032 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7052 #, no-wrap msgid "November 15, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7034 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7054 #, 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:7035 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7055 #, no-wrap msgid "400013" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7036 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7056 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/54123[54123]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7037 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7057 #, no-wrap msgid "December 4, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7039 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7059 #, 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:7040 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7060 #, no-wrap msgid "400014" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7041 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7061 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/56216[56216]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7042 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7062 #, no-wrap msgid "January 18, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7044 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7064 #, no-wrap msgid "4.0-CURRENT after importing OpenSSL" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7045 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7065 #, no-wrap msgid "400015" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7046 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7066 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/56700[56700]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7047 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7067 #, no-wrap msgid "January 27, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7049 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7069 #, 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:7050 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7070 #, no-wrap msgid "400016" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7051 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7071 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/57529[57529]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7052 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7072 #, no-wrap msgid "February 27, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7054 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7074 #, no-wrap msgid "4.0-CURRENT after importing OpenSSH" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7055 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7075 #, no-wrap msgid "400017" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7056 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7076 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/58005[58005]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7059 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7079 #, no-wrap msgid "4.0-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7060 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7080 #, no-wrap msgid "400018" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7061 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7081 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/58170[58170]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7062 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7082 #, no-wrap msgid "March 17, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7064 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7084 #, no-wrap msgid "4.0-STABLE after 4.0-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7065 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7085 #, no-wrap msgid "400019" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7066 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7086 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/60047[60047]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7067 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7087 #, no-wrap msgid "May 5, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7069 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7089 #, no-wrap msgid "4.0-STABLE after the introduction of delayed checksums." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7070 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7090 #, no-wrap msgid "400020" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7071 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7091 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/61262[61262]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7072 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7092 #, no-wrap msgid "June 4, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7074 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7094 #, no-wrap msgid "4.0-STABLE after merging libxpg4 code into libc." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7075 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7095 #, no-wrap msgid "400021" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7076 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7096 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/62820[62820]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7077 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7097 #, no-wrap msgid "July 8, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7079 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7099 #, 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:7080 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7100 #, no-wrap msgid "410000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7081 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7101 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/63095[63095]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7084 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7104 #, no-wrap msgid "4.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7085 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7105 #, no-wrap msgid "410001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7086 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7106 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/64012[64012]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7087 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7107 #, no-wrap msgid "July 29, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7089 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7109 #, no-wrap msgid "4.1-STABLE after 4.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7090 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7110 #, no-wrap msgid "410002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7091 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7111 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/65962[65962]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7092 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7112 #, no-wrap msgid "September 16, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7094 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7114 #, 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:7095 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7115 #, no-wrap msgid "411000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7096 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7116 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/66336[66336]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7097 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7117 #, no-wrap msgid "September 25, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7099 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7119 #, no-wrap msgid "4.1.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7100 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7120 #, no-wrap msgid "411001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7104 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7124 #, no-wrap msgid "4.1.1-STABLE after 4.1.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7105 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7125 #, no-wrap msgid "420000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7106 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7126 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/68066[68066]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7107 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7127 #, no-wrap msgid "October 31, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7109 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7129 #, no-wrap msgid "4.2-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7110 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7130 #, no-wrap msgid "420001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7111 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7131 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/70895[70895]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7114 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7134 #, 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:7115 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7135 #, no-wrap msgid "430000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7116 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7136 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/73800[73800]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7117 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7137 #, no-wrap msgid "March 6, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7119 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7139 #, no-wrap msgid "4.3-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7120 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7140 #, no-wrap msgid "430001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7121 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7141 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/76779[76779]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7122 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7142 #, no-wrap msgid "May 18, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7124 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7144 #, no-wrap msgid "4.3-STABLE after `wint_t` introduction." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7125 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7145 #, no-wrap msgid "430002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7126 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7146 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/80157[80157]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7127 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7147 #, no-wrap msgid "July 22, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7129 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7149 #, no-wrap msgid "4.3-STABLE after PCI powerstate API merge." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7130 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7150 #, no-wrap msgid "440000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7131 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7151 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/80923[80923]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7132 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7152 #, no-wrap msgid "August 1, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7134 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7154 #, no-wrap msgid "4.4-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7135 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7155 #, no-wrap msgid "440001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7136 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7156 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/85341[85341]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7137 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7157 #, no-wrap msgid "October 23, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7139 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7159 #, no-wrap msgid "4.4-STABLE after `d_thread_t` introduction." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7140 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7160 #, no-wrap msgid "440002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7141 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7161 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/86038[86038]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7142 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7162 #, no-wrap msgid "November 4, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7144 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7164 #, 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:7145 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7165 #, no-wrap msgid "440003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7146 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7166 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/88130[88130]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7147 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7167 #, no-wrap msgid "December 18, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7149 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7169 #, 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:7150 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7170 #, no-wrap msgid "450000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7151 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7171 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/88271[88271]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7152 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7172 #, no-wrap msgid "December 20, 2001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7154 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7174 #, no-wrap msgid "4.5-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7155 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7175 #, no-wrap msgid "450001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7159 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7179 #, no-wrap msgid "4.5-STABLE after the usb structure element rename." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7160 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7180 #, no-wrap msgid "450002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7161 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7181 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/92151[92151]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7162 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7182 #, no-wrap msgid "March 12, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7164 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7184 #, no-wrap msgid "4.5-STABLE after locale changes." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7165 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7185 #, no-wrap msgid "450003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7169 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7189 #, no-wrap msgid "(Never created)" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7170 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7190 #, no-wrap msgid "450004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7171 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7191 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/94840[94840]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7172 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7192 #, no-wrap msgid "April 16, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7174 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7194 #, 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:7175 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7195 #, no-wrap msgid "450005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7176 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7196 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/95555[95555]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7177 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7197 #, no-wrap msgid "April 27, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7179 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7199 #, 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:7180 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7200 #, no-wrap msgid "450006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7181 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7201 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/95846[95846]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7182 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7202 #, no-wrap msgid "May 1, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7184 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7204 #, 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:7185 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7205 #, no-wrap msgid "460000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7186 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7206 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/97923[97923]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7187 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7192 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7207 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7212 #, no-wrap msgid "June 21, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7189 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7209 #, no-wrap msgid "4.6-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7190 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7210 #, no-wrap msgid "460001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7191 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7211 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/98730[98730]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7194 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7214 #, 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:7195 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7215 #, no-wrap msgid "460002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7196 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7216 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/100366[100366]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7197 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7217 #, no-wrap msgid "July 19, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7199 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7219 #, no-wrap msgid "4.6.2-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7200 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7220 #, no-wrap msgid "460100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7201 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7221 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/98857[98857]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7202 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7207 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7222 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7227 #, no-wrap msgid "June 26, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7204 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7224 #, no-wrap msgid "4.6-STABLE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7205 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7225 #, no-wrap msgid "460101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7206 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7226 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/98880[98880]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7209 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7229 #, no-wrap msgid "4.6-STABLE after MFC of `sed -i`." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7210 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7230 #, no-wrap msgid "460102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7211 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7231 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/102759[102759]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7214 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7234 #, 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:7215 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7235 #, no-wrap msgid "470000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7216 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7236 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/104655[104655]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7217 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7237 #, no-wrap msgid "October 8, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7219 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7239 #, no-wrap msgid "4.7-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7220 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7240 #, no-wrap msgid "470100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7221 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7241 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/104717[104717]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7222 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7242 #, no-wrap msgid "October 9, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7224 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7244 #, no-wrap msgid "4.7-STABLE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7225 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7245 #, no-wrap msgid "470101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7226 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7246 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/106732[106732]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7227 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7247 #, no-wrap msgid "November 10, 2002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7229 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7249 #, 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:7230 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7250 #, no-wrap msgid "470102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7231 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7251 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/109753[109753]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7232 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7252 #, no-wrap msgid "January 23, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7234 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7254 #, 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:7235 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7255 #, no-wrap msgid "470103" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7236 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7256 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/110887[110887]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7237 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7257 #, no-wrap msgid "February 14, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7239 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7259 #, no-wrap msgid "4.7-STABLE gets OpenSSL 0.9.7" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7240 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7260 #, no-wrap msgid "480000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7241 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7261 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/112852[112852]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7242 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7262 #, no-wrap msgid "March 30, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7244 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7264 #, no-wrap msgid "4.8-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7245 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7265 #, no-wrap msgid "480100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7246 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7266 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/113107[113107]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7247 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7267 #, no-wrap msgid "April 5, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7249 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7269 #, no-wrap msgid "4.8-STABLE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7250 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7270 #, no-wrap msgid "480101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7251 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7271 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/115232[115232]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7252 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7272 #, no-wrap msgid "May 22, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7254 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7274 #, 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:7255 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7275 #, no-wrap msgid "480102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7256 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7276 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/118737[118737]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7257 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7277 #, no-wrap msgid "August 10, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7259 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7279 #, no-wrap msgid "4.8-STABLE 3ware API changes to twe." msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7260 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7280 #, no-wrap msgid "490000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7261 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7281 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/121592[121592]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7262 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7267 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7282 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7287 #, no-wrap msgid "October 27, 2003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7264 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7284 #, no-wrap msgid "4.9-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7265 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7285 #, no-wrap msgid "490100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7266 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7286 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/121593[121593]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7269 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7289 #, no-wrap msgid "4.9-STABLE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7270 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7290 #, no-wrap msgid "490101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7271 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7291 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/124264[124264]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7272 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7292 #, no-wrap msgid "January 8, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7274 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7294 #, 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:7275 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7295 #, no-wrap msgid "490102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7276 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7296 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/125417[125417]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7277 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7297 #, no-wrap msgid "February 4, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7279 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7299 #, 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:7280 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7300 #, no-wrap msgid "491000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7281 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7301 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/129700[129700]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7282 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7302 #, no-wrap msgid "May 25, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7284 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7304 #, no-wrap msgid "4.10-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7285 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7305 #, no-wrap msgid "491100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7286 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7306 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/129918[129918]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7287 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7307 #, no-wrap msgid "June 1, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7289 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7309 #, no-wrap msgid "4.10-STABLE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7290 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7310 #, no-wrap msgid "491101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7291 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7311 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/133506[133506]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7292 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7312 #, no-wrap msgid "August 11, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7294 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7314 #, 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:7295 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7315 #, no-wrap msgid "491102" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7296 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7316 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/137786[137786]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7297 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7317 #, no-wrap msgid "November 16, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7299 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7319 #, 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:7300 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7320 #, no-wrap msgid "492000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7301 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7321 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/138960[138960]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7302 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7307 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7322 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7327 #, no-wrap msgid "December 17, 2004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7304 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7324 #, no-wrap msgid "4.11-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7305 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7325 #, no-wrap msgid "492100" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7306 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7326 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/138959[138959]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7309 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7329 #, no-wrap msgid "4.11-STABLE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7310 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7330 #, no-wrap msgid "492101" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7311 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7331 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/157843[157843]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7312 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7332 #, no-wrap msgid "April 18, 2006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7313 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7333 #, 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:7316 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7336 #, no-wrap msgid "FreeBSD 3 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7319 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7339 #, no-wrap msgid "FreeBSD 3 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7328 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7348 #, no-wrap msgid "300000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7329 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7349 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/22917[22917]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7330 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7350 #, no-wrap msgid "February 19, 1996" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7332 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7352 #, no-wrap msgid "3.0-CURRENT before man:mount[2] change" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7333 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7353 #, no-wrap msgid "300001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7334 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7354 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/36283[36283]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7335 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7355 #, no-wrap msgid "September 24, 1997" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7337 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7357 #, no-wrap msgid "3.0-CURRENT after man:mount[2] change" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7338 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7358 #, no-wrap msgid "300002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7339 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7359 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/36592[36592]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7340 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7360 #, no-wrap msgid "June 2, 1998" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7342 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7362 #, no-wrap msgid "3.0-CURRENT after man:semctl[2] change" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7343 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7363 #, no-wrap msgid "300003" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7344 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7364 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/36735[36735]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7345 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7365 #, no-wrap msgid "June 7, 1998" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7347 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7367 #, no-wrap msgid "3.0-CURRENT after ioctl arg changes" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7348 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7368 #, no-wrap msgid "300004" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7349 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7369 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/38768[38768]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7350 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7370 #, no-wrap msgid "September 3, 1998" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7352 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7372 #, no-wrap msgid "3.0-CURRENT after ELF conversion" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7353 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7373 #, no-wrap msgid "300005" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7354 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7374 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/40438[40438]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7355 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7360 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7375 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7380 #, no-wrap msgid "October 16, 1998" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7357 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7377 #, no-wrap msgid "3.0-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7358 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7378 #, no-wrap msgid "300006" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7359 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7379 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/40445[40445]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7362 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7382 #, no-wrap msgid "3.0-CURRENT after 3.0-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7363 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7383 #, no-wrap msgid "300007" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7364 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7384 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/43042[43042]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7367 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7387 #, no-wrap msgid "3.0-STABLE after 3/4 branch" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7368 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7388 #, no-wrap msgid "310000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7369 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7389 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/43807[43807]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7370 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7390 #, no-wrap msgid "February 9, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7372 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7392 #, no-wrap msgid "3.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7373 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7393 #, no-wrap msgid "310001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7374 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7394 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/45060[45060]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7377 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7397 #, no-wrap msgid "3.1-STABLE after 3.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7378 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7398 #, no-wrap msgid "310002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7379 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7399 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/45689[45689]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7380 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7400 #, no-wrap msgid "April 14, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7382 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7402 #, no-wrap msgid "3.1-STABLE after C++ constructor/destructor order change" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7383 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7403 #, no-wrap msgid "320000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7387 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7407 #, no-wrap msgid "3.2-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7388 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7408 #, no-wrap msgid "320001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7389 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7409 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/46742[46742]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7390 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7410 #, no-wrap msgid "May 8, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7392 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7412 #, no-wrap msgid "3.2-STABLE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7393 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7413 #, no-wrap msgid "320002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7394 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7414 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/50563[50563]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7395 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7415 #, no-wrap msgid "August 29, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7397 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7417 #, 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:7398 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7418 #, no-wrap msgid "330000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7399 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7419 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/50813[50813]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7400 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7420 #, no-wrap msgid "September 2, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7402 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7422 #, no-wrap msgid "3.3-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7403 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7423 #, no-wrap msgid "330001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7404 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7424 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/51328[51328]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7405 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7425 #, no-wrap msgid "September 16, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7407 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7427 #, no-wrap msgid "3.3-STABLE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7408 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7428 #, no-wrap msgid "330002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7409 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7429 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/53671[53671]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7410 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7430 #, no-wrap msgid "November 24, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7412 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7432 #, 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:7413 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7433 #, no-wrap msgid "340000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7414 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7434 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/54166[54166]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7415 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7435 #, no-wrap msgid "December 5, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7417 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7437 #, no-wrap msgid "3.4-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7418 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7438 #, no-wrap msgid "340001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7419 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7439 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/54730[54730]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7420 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7440 #, no-wrap msgid "December 17, 1999" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7422 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7442 #, no-wrap msgid "3.4-STABLE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7423 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7443 #, no-wrap msgid "350000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7424 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7444 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/61876[61876]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7425 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7445 #, no-wrap msgid "June 20, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7427 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7447 #, no-wrap msgid "3.5-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7428 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7448 #, no-wrap msgid "350001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7429 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7449 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/63043[63043]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7430 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7450 #, no-wrap msgid "July 12, 2000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7431 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7451 #, no-wrap msgid "3.5-STABLE" msgstr "" #. type: Title == -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7434 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7454 #, no-wrap msgid "FreeBSD 2.2 Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7437 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7457 #, no-wrap msgid "FreeBSD 2.2 `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7446 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7466 #, no-wrap msgid "220000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7447 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7467 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/22918[22918]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7448 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7468 #, no-wrap msgid "February 19, 1997" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7450 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7470 #, no-wrap msgid "2.2-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7455 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7475 #, no-wrap msgid "2.2.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7460 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7480 #, no-wrap msgid "2.2-STABLE after 2.2.1-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7461 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7481 #, no-wrap msgid "221001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7462 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7482 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/24941[24941]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7463 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7483 #, no-wrap msgid "April 15, 1997" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7465 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7485 #, no-wrap msgid "2.2-STABLE after texinfo-3.9" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7466 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7486 #, no-wrap msgid "221002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7467 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7487 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/25325[25325]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7468 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7488 #, no-wrap msgid "April 30, 1997" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7470 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7490 #, no-wrap msgid "2.2-STABLE after top" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7471 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7491 #, no-wrap msgid "222000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7472 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7492 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/25851[25851]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7473 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7493 #, no-wrap msgid "May 16, 1997" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7475 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7495 #, no-wrap msgid "2.2.2-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7476 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7496 #, no-wrap msgid "222001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7477 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7497 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/25921[25921]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7478 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7498 #, no-wrap msgid "May 19, 1997" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7480 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7500 #, no-wrap msgid "2.2-STABLE after 2.2.2-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7481 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7501 #, no-wrap msgid "225000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7482 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7502 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/30053[30053]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7483 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7503 #, no-wrap msgid "October 2, 1997" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7485 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7505 #, no-wrap msgid "2.2.5-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7486 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7506 #, no-wrap msgid "225001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7487 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7507 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/31300[31300]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7488 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7508 #, no-wrap msgid "November 20, 1997" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7490 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7510 #, no-wrap msgid "2.2-STABLE after 2.2.5-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7491 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7511 #, no-wrap msgid "225002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7492 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7512 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/32019[32019]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7493 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7513 #, no-wrap msgid "December 27, 1997" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7495 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7515 #, no-wrap msgid "2.2-STABLE after ldconfig -R merge" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7496 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7516 #, no-wrap msgid "226000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7497 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7517 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/34445[34445]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7498 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7518 #, no-wrap msgid "March 24, 1998" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7500 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7520 #, no-wrap msgid "2.2.6-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7501 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7521 #, no-wrap msgid "227000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7502 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7522 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/37803[37803]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7503 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7508 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7523 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7528 #, no-wrap msgid "July 21, 1998" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7505 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7525 #, no-wrap msgid "2.2.7-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7506 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7526 #, no-wrap msgid "227001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7507 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7527 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/37809[37809]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7510 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7530 #, no-wrap msgid "2.2-STABLE after 2.2.7-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7511 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7531 #, no-wrap msgid "227002" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7512 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7532 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/39489[39489]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7513 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7533 #, no-wrap msgid "September 19, 1998" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7515 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7535 #, no-wrap msgid "2.2-STABLE after man:semctl[2] change" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7516 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7536 #, no-wrap msgid "228000" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7517 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7537 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/41403[41403]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7518 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7523 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7538 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7543 #, no-wrap msgid "November 29, 1998" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7520 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7540 #, no-wrap msgid "2.2.8-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7521 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7541 #, no-wrap msgid "228001" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7522 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7542 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/41418[41418]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7524 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7544 #, 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:7529 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7549 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:7532 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7552 #, no-wrap msgid "FreeBSD 2 Before 2.2-RELEASE Versions" msgstr "" #. type: Block title -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7535 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7555 #, no-wrap msgid "FreeBSD 2 Before 2.2-RELEASE `__FreeBSD_version` Values" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7544 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7564 #, no-wrap msgid "119411" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7548 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7568 #, no-wrap msgid "2.0-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7549 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7569 #, no-wrap msgid "199501" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7550 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7570 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/7153[7153]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7551 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7571 #, no-wrap msgid "March 19, 1995" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7553 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7558 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7573 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7578 #, no-wrap msgid "2.1-CURRENT" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7554 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7574 #, no-wrap msgid "199503" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7555 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7575 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/7310[7310]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7556 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7576 #, no-wrap msgid "March 24, 1995" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7559 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7579 #, no-wrap msgid "199504" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7560 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7580 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/7704[7704]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7561 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7581 #, no-wrap msgid "April 9, 1995" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7563 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7583 #, no-wrap msgid "2.0.5-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7564 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7584 #, no-wrap msgid "199508" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7565 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7585 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/10297[10297]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7566 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7586 #, no-wrap msgid "August 26, 1995" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7568 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7588 #, no-wrap msgid "2.2-CURRENT before 2.1" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7569 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7589 #, no-wrap msgid "199511" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7570 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7590 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/12189[12189]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7571 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7576 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7591 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7596 #, no-wrap msgid "November 10, 1995" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7573 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7593 #, no-wrap msgid "2.1.0-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7574 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7594 #, no-wrap msgid "199512" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7575 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7595 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/12196[12196]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7578 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7598 #, no-wrap msgid "2.2-CURRENT before 2.1.5" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7579 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7599 #, no-wrap msgid "199607" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7580 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7600 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/17067[17067]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7581 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7601 #, no-wrap msgid "July 10, 1996" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7583 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7603 #, no-wrap msgid "2.1.5-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7584 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7604 #, no-wrap msgid "199608" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7585 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7605 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/17127[17127]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7586 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7606 #, no-wrap msgid "July 12, 1996" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7588 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7608 #, no-wrap msgid "2.2-CURRENT before 2.1.6" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7589 -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7594 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7609 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7614 #, no-wrap msgid "199612" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7590 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7610 #, no-wrap msgid "link:https://svnweb.freebsd.org/changeset/base/19358[19358]" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7591 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7611 #, no-wrap msgid "November 15, 1996" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7593 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7613 #, no-wrap msgid "2.1.6-RELEASE" msgstr "" #. type: Table -#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7597 +#: documentation/content/en/books/porters-handbook/versions/_index.adoc:7617 #, no-wrap msgid "2.1.7-RELEASE" msgstr ""