aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/porters-handbook/makefiles/_index.po
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/porters-handbook/makefiles/_index.po')
-rw-r--r--documentation/content/ru/books/porters-handbook/makefiles/_index.po14066
1 files changed, 14066 insertions, 0 deletions
diff --git a/documentation/content/ru/books/porters-handbook/makefiles/_index.po b/documentation/content/ru/books/porters-handbook/makefiles/_index.po
new file mode 100644
index 0000000000..359d99d977
--- /dev/null
+++ b/documentation/content/ru/books/porters-handbook/makefiles/_index.po
@@ -0,0 +1,14066 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR The FreeBSD Project
+# This file is distributed under the same license as the FreeBSD Documentation package.
+# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeBSD Documentation VERSION\n"
+"POT-Creation-Date: 2025-09-18 22:05+0300\n"
+"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
+"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
+"documentation/booksporters-handbookmakefiles_index/ru/>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.17\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1
+#, no-wrap
+msgid "Configuring the Makefile for FreeBSD Ports"
+msgstr "Настройка Makefile для портов FreeBSD"
+
+#. type: Yaml Front Matter Hash Value: title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1
+#, no-wrap
+msgid "Chapter 5. Configuring the Makefile"
+msgstr "Глава 5. Настройка Makefile"
+
+#. type: Title =
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:14
+#, no-wrap
+msgid "Configuring the Makefile"
+msgstr "Настройка Makefile"
+
+#. 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 ""
+"Настройка [.filename]#Makefile# довольно проста, и мы снова рекомендуем "
+"изучить существующие примеры перед началом. Также в этом руководстве есть "
+"crossref:porting-samplem[porting-samplem,пример Makefile], поэтому "
+"ознакомьтесь с ним и, пожалуйста, соблюдайте порядок переменных и разделов в "
+"этом шаблоне, чтобы порт был удобнее для чтения другими."
+
+#. 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 ""
+"Рассмотрите эти проблемы последовательно при разработке нового "
+"[.filename]#Makefile#:"
+
+#. 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 ""
+"Находится ли он в `DISTDIR` в виде стандартного архива ``gzip`` с именем "
+"вроде [.filename]#foozolix-1.2.tar.gz#? Если да, переходите к следующему "
+"шагу. Если нет, возможно, для формата имени файла дистрибутива потребуется "
+"переопределить одну или несколько переменных: `DISTVERSION`, `DISTNAME`, "
+"`EXTRACT_CMD`, `EXTRACT_BEFORE_ARGS`, `EXTRACT_AFTER_ARGS`, `EXTRACT_SUFX` "
+"или `DISTFILES`."
+
+#. 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 ""
+"В худшем случае создайте пользовательскую цель `do-extract`, чтобы "
+"переопределить стандартную. Это редко, если вообще когда-либо, необходимо."
+
+#. 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 ""
+"Первая часть [.filename]#Makefile# порта указывает его название, описывает "
+"номер версии и помещает его в соответствующую категорию."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:73
+#, no-wrap
+msgid "`PORTNAME`"
+msgstr "`PORTNAME`"
+
+#. 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 ""
+"Установите `PORTNAME` как базовое имя программы. Оно используется в качестве "
+"основы для пакета FreeBSD и для crossref:makefiles[makefile-"
+"distname,`DISTNAME`]."
+
+#. 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 ""
+"Название пакета должно быть уникальным во всём дереве портов. Убедитесь, что "
+"`PORTNAME` ещё не используется существующим портом и что никакой другой порт "
+"уже не имеет такой же `PKGBASE`. Если имя уже занято, добавьте либо "
+"crossref:makefiles[porting-pkgnameprefix-suffix,`PKGNAMEPREFIX`, либо "
+"`PKGNAMESUFFIX`]."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:87
+#, no-wrap
+msgid "Versions, `DISTVERSION` _or_ `PORTVERSION`"
+msgstr "Версии, `DISTVERSION` _или_ `PORTVERSION`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:90
+msgid "Set `DISTVERSION` to the version number of the software."
+msgstr "Установите `DISTVERSION` в номер версии программы."
+
+#. 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 ""
+"`PORTVERSION` — это версия, используемая для пакета FreeBSD. Она будет "
+"автоматически вычислена из `DISTVERSION` в соответствии со схемой "
+"версионирования пакетов FreeBSD. Если версия содержит _буквы_, может "
+"потребоваться задать `PORTVERSION` вместо `DISTVERSION`."
+
+#. 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 ""
+"Только одна из переменных `PORTVERSION` и `DISTVERSION` может быть "
+"установлена одновременно."
+
+#. 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 ""
+"Время от времени некоторые программы используют схему версионирования, "
+"которая несовместима с тем, как `DISTVERSION` преобразуется в `PORTVERSION`."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:106
+msgid ""
+"When updating a port, it is possible to use the `-t` argument of man:pkg-"
+"version[8] to check if the new version is greater or lesser than before. "
+"See below on how to use man:pkg-version[8] to compare versions."
+msgstr ""
+"При обновлении порта можно использовать аргумент `-t` утилиты man:pkg-"
+"version[8], чтобы проверить, является ли новая версия больше или меньше "
+"предыдущей. Смотрите ниже, как использовать man:pkg-version[8] для сравнения "
+"версий."
+
+#. 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 "Использование man:pkg-version[8] для сравнения версий"
+
+#. 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 ""
+"`pkg version -t` принимает две версии в качестве аргументов и возвращает "
+"`<`, `=` или `>`, если первая версия меньше, равна или больше второй версии "
+"соответственно."
+
+#. 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 ""
+"% pkg version -t 1.2 1.3\n"
+"< <.>\n"
+"% pkg version -t 1.2 1.2\n"
+
+#. 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 "% pkg version -t 1.2 1.2.0"
+
+#. 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 ""
+"% pkg version -t 1.2 1.2.p1\n"
+"> <.>\n"
+"% pkg version -t 1.2.a1 1.2.b1\n"
+"< <.>\n"
+"% pkg version -t 1.2 1.2p1\n"
+"< <.>"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:131
+msgid "`1.2` is before `1.3`."
+msgstr "`1.2` идёт перед `1.3`."
+
+#. 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 "`1.2` и `1.2` равны, так как имеют одинаковую версию."
+
+#. 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 "`1.2` и `1.2.0` равны, так как ноль ничего не значит."
+
+#. 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 ""
+"`1.2` идёт после `1.2.p1`, так как `.p1` означает «pre-release 1» "
+"(предрелизная версия 1)."
+
+#. 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 ""
+"`1.2.a1` предшествует `1.2.b1`, представьте \"alpha\" и \"beta\", где `a` "
+"идёт перед `b`."
+
+#. 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 ""
+"`1.2` находится перед `1.2p1`, так же как `2p1` (читается как \"2, уровень "
+"исправления 1\") — это версия, следующая после любой `2.X`, но перед `3`."
+
+#. 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 ""
+"Здесь `a`, `b` и `p` используются так, как если бы они означали \"альфа\", "
+"\"бета\" или \"пре-релиз\" и \"уровень патча\", но на самом деле это просто "
+"буквы, которые сортируются в алфавитном порядке, поэтому можно использовать "
+"любую букву, и они будут отсортированы соответствующим образом."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:145
+#, no-wrap
+msgid "Examples of `DISTVERSION` and the Derived `PORTVERSION`"
+msgstr "Примеры `DISTVERSION` и производной `PORTVERSION`"
+
+#. 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 "DISTVERSION"
+
+#. 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 ".PORTVERSION"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:152
+#, no-wrap
+msgid "0.7.1d"
+msgstr "0.7.1d"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:154
+#, no-wrap
+msgid "0.7.1.d"
+msgstr "0.7.1.d"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:155
+#, no-wrap
+msgid "10Alpha3"
+msgstr "10Alpha3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:157
+#, no-wrap
+msgid "10.a3"
+msgstr "10.a3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:158
+#, no-wrap
+msgid "3Beta7-pre2"
+msgstr "3Beta7-pre2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:160
+#, no-wrap
+msgid "3.b7.p2"
+msgstr "3.b7.p2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:161
+#, no-wrap
+msgid "8:f_17"
+msgstr "8:f_17"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:162
+#, no-wrap
+msgid "8f.17"
+msgstr "8f.17"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:165
+#, no-wrap
+msgid "Using `DISTVERSION`"
+msgstr "Использование `DISTVERSION`"
+
+#. 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 ""
+"Если версия содержит только числа, разделённые точками, тире или "
+"подчёркиваниями, используйте `DISTVERSION`."
+
+#. 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 ""
+"PORTNAME= nekoto\n"
+"DISTVERSION=\t1.2-4\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:177
+msgid "It will generate a `PORTVERSION` of `1.2.4`."
+msgstr "Это сгенерирует `PORTVERSION` равный `1.2.4`."
+
+#. 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 "Использование `DISTVERSION` когда версия начинается с буквы или префикса"
+
+#. 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 ""
+"Когда версия начинается или заканчивается буквой, или префиксом, или "
+"суффиксом, которые не являются частью версии, используйте "
+"`DISTVERSIONPREFIX`, `DISTVERSION` и `DISTVERSIONSUFFIX`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:186
+msgid "If the version is `v1.2-4`:"
+msgstr "Если версия `v1.2-4`:"
+
+#. 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 ""
+"PORTNAME= nekoto\n"
+"DISTVERSIONPREFIX= v\n"
+"DISTVERSION=\t1_2_4\n"
+
+#. 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 ""
+"Некоторые проекты, использующие GitHub, могут включать своё название в "
+"версии. Например, версия может выглядеть как `nekoto-1.2-4`:"
+
+#. 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 ""
+"PORTNAME= nekoto\n"
+"DISTVERSIONPREFIX= nekoto-\n"
+"DISTVERSION=\t1.2_4\n"
+
+#. 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 ""
+"Эти проекты также иногда используют строку в конце версии, например, "
+"`1.2-4_RELEASE`:"
+
+#. 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 ""
+"PORTNAME= nekoto\n"
+"DISTVERSION=\t1.2-4\n"
+"DISTVERSIONSUFFIX= _RELEASE\n"
+
+#. 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 "Или они делают и то, и другое, например, `nekoto-1.2-4_RELEASE`:"
+
+#. 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 ""
+"PORTNAME= nekoto\n"
+"DISTVERSIONPREFIX= nekoto-\n"
+"DISTVERSION=\t1.2-4\n"
+"DISTVERSIONSUFFIX= _RELEASE\n"
+
+#. 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 ""
+"`DISTVERSIONPREFIX` и `DISTVERSIONSUFFIX` не будут использоваться при "
+"формировании `PORTVERSION`, а только в `DISTNAME`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:226
+msgid "All will generate a `PORTVERSION` of `1.2.4`."
+msgstr "Все сгенерируют `PORTVERSION` равный `1.2.4`."
+
+#. 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 "Использование `DISTVERSION`, когда версия содержит буквы, означающие \"alpha\", \"beta\" или \"pre-release\""
+
+#. 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 ""
+"Если версия содержит числа, разделённые точками, тире или подчёркиваниями, а "
+"буквы используются для обозначения \"альфа\", \"бета\" или \"предварительной "
+"версии\" (то есть до версии без букв), используйте `DISTVERSION`."
+
+#. 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 ""
+"PORTNAME= nekoto\n"
+"DISTVERSION=\t1.2-pre4\n"
+
+#. 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 ""
+"PORTNAME= nekoto\n"
+"DISTVERSION=\t1.2p4\n"
+
+#. 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 ""
+"Оба варианта создадут `PORTVERSION` равную `1.2.p4`, что предшествует версии "
+"1.2. Для проверки этого факта можно использовать man:pkg-version[8]:"
+
+#. 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 ""
+"% pkg version -t 1.2.p4 1.2\n"
+"<\n"
+
+#. 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 "Не использовать `DISTVERSION`, если версия содержит буквы, означающие \"уровень патча\""
+
+#. 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 ""
+"Если версия содержит буквы, которые не означают \"alpha\", \"beta\" или "
+"\"pre\", а скорее указывают на \"уровень исправления\" и следуют после "
+"версии без букв, используйте `PORTVERSION`."
+
+#. 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 ""
+"PORTNAME= nekoto\n"
+"PORTVERSION=\t1.2p4\n"
+
+#. 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 ""
+"В данном случае использование `DISTVERSION` невозможно, так как это приведёт "
+"к генерации версии `1.2.p4`, которая будет считаться более ранней, чем "
+"`1.2`, а не более поздней. man:pkg-version[8] подтвердит это:"
+
+#. 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 ""
+"% pkg version -t 1.2 1.2.p4\n"
+"> <.>\n"
+"% pkg version -t 1.2 1.2p4\n"
+"< <.>\n"
+
+#. 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 "`1.2` идёт после `1.2.p4`, что в данном случае _неверно_."
+
+#. 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 "`1.2` находится перед `1.2p4`, что и требовалось."
+
+#. 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 ""
+"Для более сложных примеров настройки `PORTVERSION`, когда версия "
+"программного обеспечения действительно несовместима с FreeBSD, или "
+"`DISTNAME`, когда файл дистрибутива не содержит саму версию, см. "
+"crossref:makefiles[makefile-distname, `DISTNAME`]."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:289
+#, no-wrap
+msgid "`PORTREVISION` and `PORTEPOCH`"
+msgstr "`PORTREVISION` и `PORTEPOCH`"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:292
+#, no-wrap
+msgid "`PORTREVISION`"
+msgstr "`PORTREVISION`"
+
+#. 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 ""
+"`PORTREVISION` — это монотонно возрастающее значение, которое сбрасывается в "
+"0 при каждом увеличении `DISTVERSION`, обычно при каждом новом официальном "
+"выпуске от поставщика. Если `PORTREVISION` не равен нулю, его значение "
+"добавляется к имени пакета. Изменения `PORTREVISION` используются "
+"автоматизированными инструментами, такими как man:pkg-version[8], для "
+"определения доступности нового пакета."
+
+#. 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 ""
+"`PORTREVISION` должен быть увеличен каждый раз, когда в порт вносятся "
+"изменения, которые так или иначе влияют на сгенерированный пакет. Это "
+"включает изменения, затрагивающие только пакеты, собранные с нестандартными "
+"crossref:makefiles[makefile-options,опциями]."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:302
+msgid "Examples of when `PORTREVISION` must be bumped:"
+msgstr "Примеры случаев, когда необходимо увеличить `PORTREVISION`:"
+
+#. 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 ""
+"Изменения в [.filename]#Makefile# порта для включения или отключения "
+"параметров сборки в пакете."
+
+#. 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 ""
+"Изменения в списке файлов пакета или в поведении во время установки. "
+"Например, изменение скрипта, который генерирует начальные данные для пакета, "
+"такие как ключи хоста man:ssh[1]."
+
+#. 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 ""
+"Увеличение версии зависимости порта от общей библиотеки (в данном случае, "
+"попытка установить старый пакет после установки более новой версии "
+"зависимости завершится неудачей, так как будет искаться старая версия "
+"libfoo.x вместо libfoo.(x+1))."
+
+#. 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 ""
+"Тихие изменения в дистрибутивном файле порта, которые имеют значительные "
+"функциональные отличия. Например, изменения в дистрибутивном файле, "
+"требующие корректировки файла [.filename]#distinfo# без соответствующего "
+"изменения `DISTVERSION`, когда сравнение `diff -ru` старой и новой версий "
+"показывает нетривиальные изменения в коде."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:309
+msgid "Changes to `MAINTAINER`."
+msgstr "Изменения в `MAINTAINER`."
+
+#. 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 "Примеры изменений, которые не требуют увеличения `PORTREVISION`:"
+
+#. 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 ""
+"Изменения в `MASTER_SITES` или другие функциональные изменения порта, "
+"которые не влияют на итоговый пакет."
+
+#. 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 ""
+"Исправления сборки, которые позволяют пакету компилироваться там, где ранее "
+"это не удавалось. При условии, что изменения не вносят функциональных "
+"изменений на других платформах, где порт ранее собирался. Поскольку "
+"`PORTREVISION` отражает содержимое пакета, если пакет ранее не мог быть "
+"собран, то нет необходимости увеличивать `PORTREVISION` для обозначения "
+"изменений."
+
+#. 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 ""
+"Эмпирическое правило заключается в том, чтобы решить, является ли изменение, "
+"внесённое в порт, чем-то, что принесёт пользу _некоторым_ пользователям. "
+"Будь то улучшение, исправление или просто факт, что новый пакет вообще будет "
+"работать. Затем необходимо сопоставить это с тем, что всем, кто регулярно "
+"обновляет своё дерево портов, придётся выполнить обновление. Если ответ "
+"положительный, необходимо увеличить `PORTREVISION`."
+
+#. 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 ""
+"Пользователи бинарных пакетов _никогда_ не увидят обновления, если "
+"`PORTREVISION` не увеличен. Без увеличения `PORTREVISION` сборщики пакетов "
+"не могут обнаружить изменение и, следовательно, не пересоберут пакет."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:329
+#, no-wrap
+msgid "`PORTEPOCH`"
+msgstr "`PORTEPOCH`"
+
+#. 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 ""
+"Время от времени разработчики программного обеспечения или сопровождающие "
+"портов FreeBSD совершают ошибку и выпускают версию своего ПО, которая "
+"фактически имеет меньший номер по сравнению с предыдущей. Примером может "
+"служить переход с foo-20000801 на foo-1.0 (первая версия будет ошибочно "
+"считаться более новой, поскольку число 20000801 больше, чем 1.0)."
+
+#. 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 ""
+"Результаты сравнения номеров версий не всегда очевидны. Команда `pkg "
+"version` (см. man:pkg-version[8]) может быть использована для проверки "
+"сравнения двух строк с номерами версий. Например:"
+
+#. 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 ""
+"% pkg version -t 0.031 0.29\n"
+">\n"
+
+#. 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 ""
+"Символ `>` в выводе указывает, что версия 0.031 считается больше, чем версия "
+"0.29, что могло быть неочевидно для сопровождающего."
+
+#. 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 ""
+"В таких ситуациях необходимо увеличить `PORTEPOCH`. Если `PORTEPOCH` не "
+"равен нулю, он добавляется к имени пакета, как описано в разделе 0 выше. "
+"`PORTEPOCH` никогда не должен уменьшаться или сбрасываться до нуля, потому "
+"что это приведёт к ошибке при сравнении с пакетом из более ранней эпохи. "
+"Например, пакет не будет обнаружен как устаревший. Новый номер версии, "
+"`1.0,1` в приведённом выше примере, всё ещё численно меньше предыдущей "
+"версии, 20000801, но суффикс `,1` обрабатывается автоматизированными "
+"инструментами особым образом и считается большим, чем подразумеваемый "
+"суффикс `,0` у предыдущего пакета."
+
+#. 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 ""
+"Неправильное удаление или сброс `PORTEPOCH` приводит к бесконечным "
+"проблемам. Если приведённое выше объяснение недостаточно ясно, обратитесь к "
+"{freebsd-ports}."
+
+#. 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 ""
+"Ожидается, что `PORTEPOCH` не будет использоваться для большинства портов, и "
+"что разумное использование `DISTVERSION` или аккуратное применение "
+"`PORTVERSION` часто может предотвратить необходимость его использования, "
+"если будущий выпуск программного обеспечения изменит структуру версий. "
+"Однако разработчикам портов FreeBSD следует быть осторожными, когда вендор "
+"выпускает релиз без официального номера версии — например, релиз в виде "
+"\"снимка\" кода. Возникает соблазн обозначить такой релиз датой выпуска, что "
+"вызовет проблемы, как в примере выше, когда будет сделан новый "
+"\"официальный\" релиз."
+
+#. 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 ""
+"Например, если снимок выпущен на дату `20000917`, а предыдущая версия "
+"программного обеспечения была `1.2`, не следует использовать `20000917` для "
+"`DISTVERSION`. Правильным будет указать `DISTVERSION` как `1.2.20000917` или "
+"подобное, чтобы следующая версия, например `1.3`, оставалась численно "
+"большей."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:366
+#, no-wrap
+msgid "Example of `PORTREVISION` and `PORTEPOCH` Usage"
+msgstr "Пример использования `PORTREVISION` и `PORTEPOCH`"
+
+#. 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 "Порт `gtkmumble` версии `0.10` добавлен в коллекцию портов:"
+
+#. 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 ""
+"PORTNAME=\tgtkmumble\n"
+"DISTVERSION=\t0.10\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:377
+msgid "`PKGNAME` becomes `gtkmumble-0.10`."
+msgstr "`PKGNAME` становится `gtkmumble-0.10`."
+
+#. 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 ""
+"Обнаружена уязвимость в безопасности, требующая локального исправления "
+"FreeBSD. `PORTREVISION` соответствующим образом увеличивается."
+
+#. 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 ""
+"PORTNAME=\tgtkmumble\n"
+"DISTVERSION=\t0.10\n"
+"PORTREVISION=\t1\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:389
+msgid "`PKGNAME` becomes `gtkmumble-0.10_1`"
+msgstr "`PKGNAME` принимает значение `gtkmumble-0.10_1`"
+
+#. 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 ""
+"Выпущена новая версия от поставщика под номером `0.2` (оказывается, автор "
+"изначально подразумевал, что `0.10` на самом деле означает `0.1.0`, а не "
+"\"то, что идет после 0.9\" — увы, теперь уже поздно). Поскольку новая "
+"минорная версия `2` численно меньше предыдущей версии `10`, необходимо "
+"увеличить `PORTEPOCH`, чтобы вручную заставить систему распознавать новый "
+"пакет как \"более новый\". Так как это новый релиз кода от поставщика, "
+"`PORTREVISION` сбрасывается до 0 (или удаляется из [.filename]#Makefile#)."
+
+#. 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 ""
+"PORTNAME=\tgtkmumble\n"
+"DISTVERSION=\t0.2\n"
+"PORTEPOCH=\t1\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:402
+msgid "`PKGNAME` becomes `gtkmumble-0.2,1`"
+msgstr "`PKGNAME` становится `gtkmumble-0.2,1`"
+
+#. 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 ""
+"Следующий выпуск — 0.3. Поскольку `PORTEPOCH` никогда не уменьшается, "
+"переменные версий теперь выглядят так:"
+
+#. 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 ""
+"PORTNAME=\tgtkmumble\n"
+"DISTVERSION=\t0.3\n"
+"PORTEPOCH=\t1\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:414
+msgid "`PKGNAME` becomes `gtkmumble-0.3,1`"
+msgstr "`PKGNAME` принимает значение `gtkmumble-0.3,1`"
+
+#. 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 ""
+"Если бы `PORTEPOCH` был сброшен в `0` при этом обновлении, пользователь, "
+"установивший пакет `gtkmumble-0.10_1`, не увидел бы пакет `gtkmumble-0.3` "
+"как более новый, поскольку `3` всё ещё численно меньше, чем `10`. Помните, в "
+"этом и заключается вся суть `PORTEPOCH` изначально."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:422
+#, no-wrap
+msgid "`PKGNAMEPREFIX` and `PKGNAMESUFFIX`"
+msgstr "`PKGNAMEPREFIX` и `PKGNAMESUFFIX`"
+
+#. 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 ""
+"Две необязательные переменные, `PKGNAMEPREFIX` и `PKGNAMESUFFIX`, "
+"объединяются с `PORTNAME` и `PORTVERSION` для формирования `PKGNAME` в виде "
+"`${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}`. Убедитесь, что "
+"это соответствует нашим crossref:makefiles[porting-pkgname,рекомендациям по "
+"именованию пакетов]. В частности, использование дефиса (`-`) в `PORTVERSION` "
+"_не_ допускается. Кроме того, если имя пакета содержит часть _language-_ или "
+"_-compiled.specifics_ (см. ниже), используйте `PKGNAMEPREFIX` и "
+"`PKGNAMESUFFIX` соответственно. Не включайте их в `PORTNAME`."
+
+#. 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 ""
+"Имена пакетов имеют формат [.filename]#language_region-name-"
+"compiled.specifics-version.numbers#."
+
+#. 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 ""
+"Имя пакета определяется как `${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-$"
+"{PORTVERSION}`. Убедитесь, что переменные заданы в соответствии с этим "
+"форматом."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:442
+#, no-wrap
+msgid "[.filename]#language_region-#"
+msgstr "[.filename]#language_region-#"
+
+#. 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 ""
+"FreeBSD стремится поддерживать родной язык своих пользователей. Часть "
+"_language-_ представляет собой двухбуквенное сокращение естественного языка, "
+"определённое стандартом ISO-639, когда порт относится к определённому "
+"языку. Примерами являются `ja` для японского, `ru` для русского, `vi` для "
+"вьетнамского, `zh` для китайского, `ko` для корейского и `de` для немецкого."
+
+#. 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 ""
+"Если порт относится к определённому региону в языковой зоне, добавьте также "
+"двухбуквенный код страны. Например, `en_US` для американского английского и "
+"`fr_CH` для швейцарского французского."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:451
+msgid "The _language-_ part is set in `PKGNAMEPREFIX`."
+msgstr "Часть _language-_ задается в `PKGNAMEPREFIX`."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:453
+#, no-wrap
+msgid "[.filename]#name#"
+msgstr "[.filename]#name#"
+
+#. 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 ""
+"Убедитесь, что название порта и его версия четко разделены и указаны в "
+"`PORTNAME` и `DISTVERSION`. Единственная причина, по которой `PORTNAME` "
+"может содержать часть версии, — это если вышестоящее распространяемое ПО "
+"действительно так названо, как в портах package:textproc/libxml2[] или "
+"package:japanese/kinput2-freewnn[]. В противном случае `PORTNAME` не может "
+"содержать информацию о версии. Довольно нормально, когда несколько портов "
+"имеют одинаковый `PORTNAME`, как это делают порты package:www/apache*[]; в "
+"таком случае разные версии (и разные записи в индексе) различаются "
+"значениями `PKGNAMEPREFIX` и `PKGNAMESUFFIX`."
+
+#. 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 ""
+"Существует традиция называть модули `Perl 5`, добавляя префикс `p5-` и "
+"заменя разделитель в виде двойного двоеточия на дефис. Например, модуль "
+"`Data::Dumper` становится `p5-Data-Dumper`."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:462
+#, no-wrap
+msgid "[.filename]#-compiled.specifics#"
+msgstr "[.filename]#-compiled.specifics#"
+
+#. 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 ""
+"Если порт может быть собран с различными crossref:makefiles[makefile-"
+"masterdir,жестко заданными значениями по умолчанию] (обычно это часть имени "
+"каталога в семействе портов), часть _-compiled.specifics_ указывает "
+"скомпилированные значения по умолчанию. Дефис является необязательным. "
+"Примерами могут служить размер бумаги и единицы измерения шрифтов."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:469
+msgid "The _-compiled.specifics_ part is set in `PKGNAMESUFFIX`."
+msgstr "Часть _-compiled.specifics_ задаётся в `PKGNAMESUFFIX`."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:471
+#, no-wrap
+msgid "[.filename]#-version.numbers#"
+msgstr "[.filename]#-version.numbers#"
+
+#. 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 ""
+"Строка версии следует после тире (`-`) и представляет собой разделённый "
+"точками список целых чисел и строчных букв латинского алфавита. В частности, "
+"не допускается использование дополнительных тире внутри строки версии. "
+"Единственное исключение — строка `pl` (означающая \"уровень исправления\"), "
+"которую можно использовать _только_ в случае отсутствия у программного "
+"обеспечения номеров основной и дополнительной версий. Если в версии "
+"программного обеспечения встречаются строки типа \"alpha\", \"beta\", \"rc\" "
+"или \"pre\", следует взять первую букву и поместить её сразу после точки. "
+"Если после таких названий строка версии продолжается, числа следуют за "
+"буквой без дополнительной точки между ними (например, `1.0b2`)."
+
+#. 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 ""
+"Идея заключается в упрощении сортировки портов за счёт анализа строки "
+"версии. В частности, необходимо убедиться, что компоненты номера версии "
+"всегда разделены точкой, а если дата является частью строки, использовать "
+"формат `d__yyyy.mm.dd__`, а не `_dd.mm.yyyy_` или не соответствующий "
+"стандарту Y2K формат `_yy.mm.dd_`. Важно добавлять перед версией букву, в "
+"данном случае `d` (от слова \"дата\"), на случай, если будет выпущена версия "
+"с фактическим номером, который численно окажется меньше `_yyyy_`."
+
+#. 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 ""
+"Название пакета должно быть уникальным среди всех портов в дереве. "
+"Убедитесь, что порт с таким же `PORTNAME` ещё не существует, и если он есть, "
+"добавьте один из crossref:makefiles[porting-pkgnameprefix-"
+"suffix,`PKGNAMEPREFIX` или `PKGNAMESUFFIX`]."
+
+#. 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 ""
+"Вот несколько (реальных) примеров преобразования названия, указанного "
+"авторами программного обеспечения, в подходящее имя пакета. В каждой строке "
+"указана только одна из переменных `DISTVERSION` или `PORTVERSION`, в "
+"зависимости от того, какая используется в [.filename]#Makefile# порта:"
+
+#. 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 "PKGNAMEPREFIX"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:497
+#, no-wrap
+msgid "PORTNAME"
+msgstr "PORTNAME"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:498
+#, no-wrap
+msgid "PKGNAMESUFFIX"
+msgstr "PKGNAMESUFFIX"
+
+#. 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 "mule-2.2.2"
+
+#. 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 "mule"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:507
+#, no-wrap
+msgid "2.2.2"
+msgstr "2.2.2"
+
+#. 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 "mule-1.0.1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:514
+#, no-wrap
+msgid "1"
+msgstr "1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:515
+#, no-wrap
+msgid "1.0.1"
+msgstr "1.0.1"
+
+#. 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 "Это версия 1 mule, а версия 2 уже существует"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:519
+#, no-wrap
+msgid "EmiClock-1.0.2"
+msgstr "EmiClock-1.0.2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:521
+#, no-wrap
+msgid "emiclock"
+msgstr "emiclock"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:523
+#, no-wrap
+msgid "1.0.2"
+msgstr "1.0.2"
+
+#. 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 "rdist-1.3alpha"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:529
+#, no-wrap
+msgid "rdist"
+msgstr "rdist"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:531
+#, no-wrap
+msgid "1.3alpha"
+msgstr "1.3alpha"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:534
+#, no-wrap
+msgid "Version will be `1.3.a`"
+msgstr "Версия будет `1.3.a`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:535
+#, no-wrap
+msgid "es-0.9-beta1"
+msgstr "es-0.9-beta1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:537
+#, no-wrap
+msgid "es"
+msgstr "es"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:539
+#, no-wrap
+msgid "0.9-beta1"
+msgstr "0.9-beta1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:542
+#, no-wrap
+msgid "Version will be `0.9.b1`"
+msgstr "Версия будет `0.9.b1`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:543
+#, no-wrap
+msgid "mailman-2.0rc3"
+msgstr "mailman-2.0rc3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:545
+#, no-wrap
+msgid "mailman"
+msgstr "mailman"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:547
+#, no-wrap
+msgid "2.0rc3"
+msgstr "2.0rc3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:550
+#, no-wrap
+msgid "Version will be `2.0.r3`"
+msgstr "Версия будет `2.0.r3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:551
+#, no-wrap
+msgid "v3.3beta021.src"
+msgstr "v3.3beta021.src"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:553
+#, no-wrap
+msgid "tiff"
+msgstr "tiff"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:556
+#, no-wrap
+msgid "3.3"
+msgstr "3.3"
+
+#. 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 "tvtwm"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:564
+#, no-wrap
+msgid "p11"
+msgstr "p11"
+
+#. 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 "piewm"
+
+#. 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 "1.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:575
+#, no-wrap
+msgid "xvgr-2.10pl1"
+msgstr "xvgr-2.10pl1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:577
+#, no-wrap
+msgid "xvgr"
+msgstr "xvgr"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:580
+#, no-wrap
+msgid "2.10.pl1"
+msgstr "2.10.pl1"
+
+#. 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 "В таком случае, `pl1` означает уровень патча, поэтому использование DISTVERSION невозможно."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:583
+#, no-wrap
+msgid "gawk-2.15.6"
+msgstr "gawk-2.15.6"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:584
+#, no-wrap
+msgid "ja-"
+msgstr "ja-"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:585
+#, no-wrap
+msgid "gawk"
+msgstr "gawk"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:587
+#, no-wrap
+msgid "2.15.6"
+msgstr "2.15.6"
+
+#. 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 "psutils-1.13"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:593
+#, no-wrap
+msgid "psutils"
+msgstr "psutils"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:594
+#, no-wrap
+msgid "-letter"
+msgstr "-letter"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:595
+#, no-wrap
+msgid "1.13"
+msgstr "1.13"
+
+#. 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 "pkfonts"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:602
+#, no-wrap
+msgid "300"
+msgstr "300"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:605
+#, no-wrap
+msgid "Package for 300dpi fonts"
+msgstr "Пакет для шрифтов с разрешением 300dpi"
+
+#. 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 ""
+"Если в исходном источнике полностью отсутствует информация о версии и "
+"маловероятно, что автор когда-либо выпустит новую версию, просто укажите "
+"строку версии как `1.0` (как в примере с `piewm` выше). В противном случае, "
+"спросите автора или используйте дату выпуска исходного файла в формате "
+"`d__yyyy.mm.dd__` или `d__yyyymmdd__` в качестве версии."
+
+#. 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 ""
+"Используйте любую букву. Здесь `d` означает дату, если источник — это "
+"репозиторий Git, часто используется `g` с последующей датой коммита, также "
+"распространено использование `s` для снимка."
+
+#. 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:4867
+#, no-wrap
+msgid "`CATEGORIES`"
+msgstr "`CATEGORIES`"
+
+#. 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 ""
+"При создании пакета он помещается в [.filename]#/usr/ports/packages/All#, и "
+"ссылки на него создаются в одной или нескольких поддиректориях [.filename]#/"
+"usr/ports/packages#. Имена этих поддиректорий задаются переменной "
+"`CATEGORIES`. Это предназначено для облегчения поиска пакетов пользователем "
+"при просмотре большого количества пакетов на FTP-сайте или CDROM. "
+"Пожалуйста, ознакомьтесь с crossref:makefiles[porting-categories,текущим "
+"списком категорий] и выберите подходящие для данного порта."
+
+#. 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 ""
+"Этот список также определяет, где в дереве портов будет размещён порт. Если "
+"здесь указано несколько категорий, файлы порта должны быть помещены в "
+"подкаталог с названием первой категории. Дополнительные сведения о выборе "
+"подходящих категорий см. в crossref:makefiles[choosing-categories,ниже]."
+
+#. 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 ""
+"Для невиртуальных категорий в `COMMENT` в [.filename]#Makefile# "
+"соответствующего подкаталога содержится однострочное описание."
+
+#. 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: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 "[.filename]#accessibility#"
+
+#. 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 "[.filename]#afterstep#`*`"
+
+#. 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 "Порты для поддержки оконного менеджера http://www.afterstep.org/[AfterStep]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:659
+#, no-wrap
+msgid "[.filename]#arabic#"
+msgstr "[.filename]#arabic#"
+
+#. 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 "[.filename]#archivers#"
+
+#. 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 "[.filename]#astro#"
+
+#. 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 "[.filename]#audio#"
+
+#. 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 "[.filename]#benchmarks#"
+
+#. 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 "[.filename]#biology#"
+
+#. 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 "[.filename]#cad#"
+
+#. 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 "[.filename]#chinese#"
+
+#. 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 "[.filename]#comms#"
+
+#. 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 "[.filename]#converters#"
+
+#. 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 "[.filename]#databases#"
+
+#. 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 "[.filename]#deskutils#"
+
+#. 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 "[.filename]#devel#"
+
+#. 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 "[.filename]#dns#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:712
+#, no-wrap
+msgid "DNS-related software."
+msgstr "Программное обеспечение, связанное с DNS."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:715
+#, no-wrap
+msgid "[.filename]#docs#`*`"
+msgstr "[.filename]#docs#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:716
+#, no-wrap
+msgid "Meta-ports for FreeBSD documentation."
+msgstr "Мета-порты для документации FreeBSD."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:719
+#, no-wrap
+msgid "[.filename]#editors#"
+msgstr "[.filename]#editors#"
+
+#. 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 "Специализированные редакторы помещаются в раздел соответствующих инструментов. Например, редактор математических формул будет помещён в [.filename]#math#, а [.filename]#editors# будет для него второй категорией."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:723
+#, no-wrap
+msgid "[.filename]#education#`*`"
+msgstr "[.filename]#education#`*`"
+
+#. 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 "[.filename]#elisp#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:728
+#, no-wrap
+msgid "Emacs-lisp ports."
+msgstr "Порты Emacs-lisp."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:731
+#, no-wrap
+msgid "[.filename]#emulators#"
+msgstr "[.filename]#emulators#"
+
+#. 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 "Терминальные эмуляторы _не_ относятся сюда. Основанные на X идут в [.filename]#x11#, а текстовые — либо в [.filename]#comms#, либо в [.filename]#misc#, в зависимости от конкретной функциональности."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:735
+#, no-wrap
+msgid "[.filename]#enlightenment#`*`"
+msgstr "[.filename]#enlightenment#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:736
+#, no-wrap
+msgid "Ports related to the Enlightenment window manager."
+msgstr "Порты, связанные с оконным менеджером Enlightenment."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:739
+#, no-wrap
+msgid "[.filename]#filesystems#"
+msgstr "[.filename]#filesystems#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:740
+#, no-wrap
+msgid "File systems and related utilities."
+msgstr "Файловые системы и связанные утилиты."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:743
+#, no-wrap
+msgid "[.filename]#finance#"
+msgstr "[.filename]#finance#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:744
+#, no-wrap
+msgid "Monetary, financial and related applications."
+msgstr "Монетарные, финансовые и связанные с ними приложения."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:747
+#, no-wrap
+msgid "[.filename]#french#"
+msgstr "[.filename]#french#"
+
+#. 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 "[.filename]#ftp#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:752
+#, no-wrap
+msgid "FTP client and server utilities."
+msgstr "Клиентские и серверные утилиты FTP."
+
+#. type: Table
+#: 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 "Если порт поддерживает как FTP, так и HTTP, поместите его в [.filename]#ftp# с дополнительной категорией [.filename]#www#."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:755
+#, no-wrap
+msgid "[.filename]#games#"
+msgstr "[.filename]#games#"
+
+#. type: Table
+#: 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:759
+#, no-wrap
+msgid "[.filename]#geography#`*`"
+msgstr "[.filename]#география#`*`"
+
+#. type: Table
+#: 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:763
+#, no-wrap
+msgid "[.filename]#german#"
+msgstr "[.filename]#german#"
+
+#. type: Table
+#: 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:767
+#, no-wrap
+msgid "[.filename]#gnome#`*`"
+msgstr "[.filename]#gnome#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:768
+#, no-wrap
+msgid "Ports from the https://www.gnome.org/[GNOME] Project."
+msgstr "Порты из проекта https://www.gnome.org/[GNOME]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:771
+#, no-wrap
+msgid "[.filename]#gnustep#`*`"
+msgstr "[.filename]#gnustep#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:772
+#, no-wrap
+msgid "Software related to the GNUstep desktop environment."
+msgstr "Программное обеспечение, связанное со средой рабочего стола GNUstep."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:775
+#, no-wrap
+msgid "[.filename]#graphics#"
+msgstr "[.filename]#graphics#"
+
+#. type: Table
+#: 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:779
+#, no-wrap
+msgid "[.filename]#hamradio#`*`"
+msgstr "[.filename]#hamradio#`*`"
+
+#. type: Table
+#: 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:783
+#, no-wrap
+msgid "[.filename]#haskell#`*`"
+msgstr "[.filename]#haskell#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:784
+#, no-wrap
+msgid "Software related to the Haskell language."
+msgstr "Программное обеспечение, связанное с языком Haskell."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:787
+#, no-wrap
+msgid "[.filename]#hebrew#"
+msgstr "[.filename]#hebrew#"
+
+#. type: Table
+#: 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:791
+#, no-wrap
+msgid "[.filename]#hungarian#"
+msgstr "[.filename]#hungarian#"
+
+#. type: Table
+#: 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:795
+#, no-wrap
+msgid "[.filename]#irc#"
+msgstr "[.filename]#irc#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:796
+#, no-wrap
+msgid "Internet Relay Chat utilities."
+msgstr "Утилиты Internet Relay Chat."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:799
+#, no-wrap
+msgid "[.filename]#japanese#"
+msgstr "[.filename]#japanese#"
+
+#. type: Table
+#: 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:803
+#, no-wrap
+msgid "[.filename]#java#"
+msgstr "[.filename]#java#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:804
+#, no-wrap
+msgid "Software related to the Java(TM) language."
+msgstr "Программное обеспечение, связанное с языком Java(TM)."
+
+#. type: Table
+#: 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 "Категория [.filename]#java# не должна быть единственной для порта. За исключением портов, непосредственно связанных с языком Java, разработчикам также рекомендуется не использовать [.filename]#java# в качестве основной категории для порта."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:807
+#, no-wrap
+msgid "[.filename]#kde#`*`"
+msgstr "[.filename]#kde#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:808
+#, no-wrap
+msgid "Ports from the https://www.kde.org/[KDE] Project (generic)."
+msgstr "Порты проекта https://www.kde.org/[KDE] (общие)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:811
+#, no-wrap
+msgid "[.filename]#kde-applications#`*`"
+msgstr "[.filename]#kde-приложения#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:812
+#, no-wrap
+msgid "Applications from the https://www.kde.org/[KDE] Project."
+msgstr "Приложения от проекта https://www.kde.org/[KDE]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:815
+#, no-wrap
+msgid "[.filename]#kde-frameworks#`*`"
+msgstr "[.filename]#kde-frameworks#`*`"
+
+#. type: Table
+#: 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 "Дополнительные библиотеки от проекта https://www.kde.org/[KDE] для программирования с использованием Qt."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:819
+#, no-wrap
+msgid "[.filename]#kde-plasma#`*`"
+msgstr "[.filename]#kde-plasma#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:820
+#, no-wrap
+msgid "Desktop from the https://www.kde.org/[KDE] Project."
+msgstr "Рабочий стол от проекта https://www.kde.org/[KDE]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:823
+#, no-wrap
+msgid "[.filename]#kld#`*`"
+msgstr "[.filename]#kld#`*`"
+
+#. type: Table
+#: 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:827
+#, no-wrap
+msgid "[.filename]#korean#"
+msgstr "[.filename]#korean#"
+
+#. type: Table
+#: 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:831
+#, no-wrap
+msgid "[.filename]#lang#"
+msgstr "[.filename]#lang#"
+
+#. type: Table
+#: 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:835
+#, no-wrap
+msgid "[.filename]#linux#`*`"
+msgstr "[.filename]#linux#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:836
+#, no-wrap
+msgid "Linux applications and support utilities."
+msgstr "Приложения и вспомогательные утилиты Linux."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:839
+#, no-wrap
+msgid "[.filename]#lisp#`*`"
+msgstr "[.filename]#lisp#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:840
+#, no-wrap
+msgid "Software related to the Lisp language."
+msgstr "Программное обеспечение, связанное с языком Lisp."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:843
+#, no-wrap
+msgid "[.filename]#mail#"
+msgstr "[.filename]#mail#"
+
+#. type: Table
+#: 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:847
+#, no-wrap
+msgid "[.filename]#mate#`*`"
+msgstr "[.filename]#mate#`*`"
+
+#. type: Table
+#: 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 "Порты, связанные с окружением рабочего стола MATE, форком GNOME 2."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:851
+#, no-wrap
+msgid "[.filename]#math#"
+msgstr "[.filename]#math#"
+
+#. type: Table
+#: 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:855
+#, no-wrap
+msgid "[.filename]#mbone#`*`"
+msgstr "[.filename]#mbone#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:856
+#, no-wrap
+msgid "MBone applications."
+msgstr "Приложения MBone."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:859
+#, no-wrap
+msgid "[.filename]#misc#"
+msgstr "[.filename]#misc#"
+
+#. type: Table
+#: 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: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 "Вещи, которые не подходят никуда больше. По возможности, попытайтесь найти для порта категорию лучше, чем `misc`, так как порты здесь часто остаются без внимания."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:863
+#, no-wrap
+msgid "[.filename]#multimedia#"
+msgstr "[.filename]#multimedia#"
+
+#. type: Table
+#: 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:867
+#, no-wrap
+msgid "[.filename]#net#"
+msgstr "[.filename]#net#"
+
+#. type: Table
+#: 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:871
+#, no-wrap
+msgid "[.filename]#net-im#"
+msgstr "[.filename]#net-im#"
+
+#. type: Table
+#: 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:875
+#, no-wrap
+msgid "[.filename]#net-mgmt#"
+msgstr "[.filename]#net-mgmt#"
+
+#. type: Table
+#: 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:879
+#, no-wrap
+msgid "[.filename]#net-p2p#"
+msgstr "[.filename]#net-p2p#"
+
+#. type: Table
+#: 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:883
+#, no-wrap
+msgid "[.filename]#net-vpn#`*`"
+msgstr "[.filename]#сеть-vpn#`*`"
+
+#. type: Table
+#: 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:887
+#, no-wrap
+msgid "[.filename]#news#"
+msgstr "[.filename]#news#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:888
+#, no-wrap
+msgid "USENET news software."
+msgstr "Программное обеспечение для USENET-новостей."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:891
+#, no-wrap
+msgid "[.filename]#parallel#`*`"
+msgstr "[.filename]#parallel#`*`"
+
+#. type: Table
+#: 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:895
+#, no-wrap
+msgid "[.filename]#pear#`*`"
+msgstr "[.filename]#pear#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:896
+#, no-wrap
+msgid "Ports related to the Pear PHP framework."
+msgstr "Порты, связанные с PHP-фреймворком Pear."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:899
+#, no-wrap
+msgid "[.filename]#perl5#`*`"
+msgstr "[.filename]#perl5#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:900
+#, no-wrap
+msgid "Ports that require Perl version 5 to run."
+msgstr "Порты, требующие Perl версии 5 для работы."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:903
+#, no-wrap
+msgid "[.filename]#plan9#`*`"
+msgstr "[.filename]#plan9#`*`"
+
+#. type: Table
+#: 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 "Различные программы с https://9p.io/wiki/plan9/Download/index.html[Plan9]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:907
+#, no-wrap
+msgid "[.filename]#polish#"
+msgstr "[.filename]#polish#"
+
+#. type: Table
+#: 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:911
+#, no-wrap
+msgid "[.filename]#ports-mgmt#"
+msgstr "[.filename]#ports-mgmt#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:912
+#, no-wrap
+msgid "Ports for managing, installing and developing FreeBSD ports and packages."
+msgstr "Порты для управления, установки и разработки портов и пакетов FreeBSD."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:915
+#, no-wrap
+msgid "[.filename]#portuguese#"
+msgstr "[.filename]#portuguese#"
+
+#. type: Table
+#: 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:919
+#, no-wrap
+msgid "[.filename]#print#"
+msgstr "[.filename]#print#"
+
+#. type: Table
+#: 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:922
+#, no-wrap
+msgid "Desktop publishing tools (previewers, etc.) belong here too."
+msgstr "Инструменты для настольных издательских систем (превьюеры и т. д.) также относятся сюда."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:923
+#, no-wrap
+msgid "[.filename]#python#`*`"
+msgstr "[.filename]#python#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:924
+#, no-wrap
+msgid "Software related to the https://www.python.org/[Python] language."
+msgstr "Программное обеспечение, связанное с языком https://www.python.org/[Python]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:927
+#, no-wrap
+msgid "[.filename]#ruby#`*`"
+msgstr "[.filename]#ruby#`*`"
+
+#. type: Table
+#: 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 "Программное обеспечение, связанное с языком https://www.ruby-lang.org/[Ruby]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:931
+#, no-wrap
+msgid "[.filename]#rubygems#`*`"
+msgstr "[.filename]#rubygems#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:932
+#, no-wrap
+msgid "Ports of https://www.rubygems.org/[RubyGems] packages."
+msgstr "Порты пакетов https://www.rubygems.org/[RubyGems]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:935
+#, no-wrap
+msgid "[.filename]#russian#"
+msgstr "[.filename]#russian#"
+
+#. type: Table
+#: 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:939
+#, no-wrap
+msgid "[.filename]#scheme#`*`"
+msgstr "[.filename]#scheme#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:940
+#, no-wrap
+msgid "Software related to the Scheme language."
+msgstr "Программное обеспечение, связанное с языком Scheme."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:943
+#, no-wrap
+msgid "[.filename]#science#"
+msgstr "[.filename]#science#"
+
+#. type: Table
+#: 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 "Научные порты, которые не входят в другие категории, такие как [.filename]#astro#, [.filename]#biology# и [.filename]#math#."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:947
+#, no-wrap
+msgid "[.filename]#security#"
+msgstr "[.filename]#security#"
+
+#. type: Table
+#: 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:951
+#, no-wrap
+msgid "[.filename]#shells#"
+msgstr "[.filename]#shells#"
+
+#. type: Table
+#: 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:955
+#, no-wrap
+msgid "[.filename]#spanish#`*`"
+msgstr "[.filename]#spanish#`*`"
+
+#. type: Table
+#: 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:959
+#, no-wrap
+msgid "[.filename]#sysutils#"
+msgstr "[.filename]#sysutils#"
+
+#. type: Table
+#: 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:963
+#, no-wrap
+msgid "[.filename]#tcl#`*`"
+msgstr "[.filename]#tcl#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:964
+#, no-wrap
+msgid "Ports that use Tcl to run."
+msgstr "Порты, использующие Tcl для запуска."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:967
+#, no-wrap
+msgid "[.filename]#textproc#"
+msgstr "[.filename]#textproc#"
+
+#. type: Table
+#: 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:970
+#, no-wrap
+msgid "It does not include desktop publishing tools, which go to [.filename]#print#."
+msgstr "Он не включает инструменты для настольных издательских систем, которые помещаются в [.filename]#print#."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:971
+#, no-wrap
+msgid "[.filename]#tk#`*`"
+msgstr "[.filename]#tk#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:972
+#, no-wrap
+msgid "Ports that use Tk to run."
+msgstr "Порты, использующие Tk для работы."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:975
+#, no-wrap
+msgid "[.filename]#ukrainian#"
+msgstr "[.filename]#ukrainian#"
+
+#. type: Table
+#: 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:979
+#, no-wrap
+msgid "[.filename]#vietnamese#"
+msgstr "[.filename]#vietnamese#"
+
+#. type: Table
+#: 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:983
+#, no-wrap
+msgid "[.filename]#wayland#`*`"
+msgstr "[.filename]#wayland#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:984
+#, no-wrap
+msgid "Ports to support the Wayland display server."
+msgstr "Порты для поддержки сервера дисплея Wayland."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:987
+#, no-wrap
+msgid "[.filename]#windowmaker#`*`"
+msgstr "[.filename]#windowmaker#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:988
+#, no-wrap
+msgid "Ports to support the Window Maker window manager."
+msgstr "Порты для поддержки оконного менеджера Window Maker."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:991
+#, no-wrap
+msgid "[.filename]#www#"
+msgstr "[.filename]#www#"
+
+#. type: Table
+#: 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:994
+#, no-wrap
+msgid "HTML language support belongs here too."
+msgstr "Поддержка языка HTML также относится сюда."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:995
+#, no-wrap
+msgid "[.filename]#x11#"
+msgstr "[.filename]#x11#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:996
+#, no-wrap
+msgid "The X Window System and friends."
+msgstr "Система X Window и связанные компоненты."
+
+#. type: Table
+#: 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 "Эта категория предназначена только для программного обеспечения, которое напрямую поддерживает оконную систему. Не помещайте сюда обычные X-приложения. Большинство из них относятся к другим категориям [.filename]#x11-*# (см. ниже)."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:999
+#, no-wrap
+msgid "[.filename]#x11-clocks#"
+msgstr "[.filename]#x11-clocks#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1000
+#, no-wrap
+msgid "X11 clocks."
+msgstr "Часы X11."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1003
+#, no-wrap
+msgid "[.filename]#x11-drivers#"
+msgstr "[.filename]#x11-drivers#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1004
+#, no-wrap
+msgid "X11 drivers."
+msgstr "Драйверы X11."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1007
+#, no-wrap
+msgid "[.filename]#x11-fm#"
+msgstr "[.filename]#x11-fm#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1008
+#, no-wrap
+msgid "X11 file managers."
+msgstr "Менеджеры файлов X11."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1011
+#, no-wrap
+msgid "[.filename]#x11-fonts#"
+msgstr "[.filename]#x11-fonts#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1012
+#, no-wrap
+msgid "X11 fonts and font utilities."
+msgstr "Шрифты и утилиты для работы со шрифтами в X11."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1015
+#, no-wrap
+msgid "[.filename]#x11-servers#"
+msgstr "[.filename]#x11-servers#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1016
+#, no-wrap
+msgid "X11 servers."
+msgstr "Серверы X11."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1019
+#, no-wrap
+msgid "[.filename]#x11-themes#"
+msgstr "[.filename]#x11-themes#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1020
+#, no-wrap
+msgid "X11 themes."
+msgstr "Темы X11."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1023
+#, no-wrap
+msgid "[.filename]#x11-toolkits#"
+msgstr "[.filename]#x11-toolkits#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1024
+#, no-wrap
+msgid "X11 toolkits."
+msgstr "Инструментарии X11."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1027
+#, no-wrap
+msgid "[.filename]#x11-wm#"
+msgstr "[.filename]#x11-wm#"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1028
+#, no-wrap
+msgid "X11 window managers."
+msgstr "Оконные менеджеры X11."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1031
+#, no-wrap
+msgid "[.filename]#xfce#`*`"
+msgstr "[.filename]#xfce#`*`"
+
+#. type: Table
+#: 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 "Порты, связанные с окружением рабочего стола https://www.xfce.org/[Xfce]."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1035
+#, no-wrap
+msgid "[.filename]#zope#`*`"
+msgstr "[.filename]#zope#`*`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1036
+#, no-wrap
+msgid "https://www.zope.org/[Zope] support."
+msgstr "https://www.zope.org/[Zope] поддержка."
+
+#. type: Title ===
+#: 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: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: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 ""
+"Первая категория должна быть физической (см. crossref:makefiles[porting-"
+"categories,выше]). Это необходимо для работы упаковки. Виртуальные категории "
+"и физические категории могут чередоваться после этого."
+
+#. type: Plain text
+#: 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 ""
+"Языковые категории всегда указываются первыми. Например, если порт "
+"устанавливает японские шрифты для X11, то строка `CATEGORIES` будет "
+"выглядеть так: [.filename]#japanese x11-fonts#."
+
+#. type: Plain text
+#: 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 ""
+"Конкретные категории перечислены перед менее специфичными. Например, HTML-"
+"редактор указывается как [.filename]#www editors#, а не наоборот. Также не "
+"следует указывать [.filename]#net#, если порт принадлежит к любой из "
+"категорий [.filename]#irc#, [.filename]#mail#, [.filename]#news#, "
+"[.filename]#security# или [.filename]#www#, так как [.filename]#net# "
+"подразумевается автоматически."
+
+#. type: Plain text
+#: 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 ""
+"[.filename]#x11# используется как вторичная категория только в случае, когда "
+"основной категорией указан естественный язык. В частности, не указывайте "
+"[.filename]#x11# в строке категории для X-приложений."
+
+#. type: Plain text
+#: 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 ""
+"Режимы Emacs размещаются в той же категории портов, что и приложение, "
+"поддерживаемое данным режимом, а не в [.filename]#editors#. Например, режим "
+"Emacs для редактирования исходных файлов какого-либо языка программирования "
+"попадает в [.filename]#lang#."
+
+#. type: Plain text
+#: 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 ""
+"Порты, устанавливающие загружаемые модули ядра, также имеют виртуальную "
+"категорию [.filename]#kld# в строке `CATEGORIES`. Это одна из вещей, "
+"автоматически обрабатываемых при добавлении `USES=kmod`."
+
+#. type: Plain text
+#: 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 ""
+"[.filename]#misc# не встречается вместе с другими невиртуальными "
+"категориями. Если `misc` указан вместе с чем-то еще в `CATEGORIES`, это "
+"означает, что `misc` можно безопасно удалить, а порт разместить только в "
+"другом подкаталоге."
+
+#. type: Plain text
+#: 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 ""
+"Если порт действительно не подходит никуда больше, поместите его в "
+"[.filename]#misc#."
+
+#. type: Plain text
+#: 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 ""
+"Если категория не определена четко, пожалуйста, укажите это в комментарии "
+"при https://bugs.freebsd.org/submit/[отправке порта] в баг-трекере, чтобы мы "
+"могли обсудить её перед импортом. Как коммиттер, отправьте сообщение в "
+"рассылку {freebsd-ports}, чтобы мы сначала обсудили это. Слишком часто новые "
+"порты импортируются в неправильную категорию, после чего их сразу же "
+"приходится перемещать."
+
+#. type: Title ===
+#: 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: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: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: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 ""
+"Обоснование этого заключается в том, что такое изменение создает extref:"
+"{committers-guide}[значительный объем работы, ports] как для коммиттеров, "
+"так и для всех пользователей, которые отслеживают изменения в Коллекции "
+"портов. Кроме того, предлагаемые изменения категорий, как правило, вызывают "
+"споры. (Возможно, это связано с отсутствием четкого консенсуса относительно "
+"того, когда категория становится «слишком большой», а также относительно "
+"того, должны ли категории способствовать удобству просмотра (и, "
+"следовательно, какое количество категорий было бы идеальным), и так далее.)"
+
+#. type: Plain text
+#: 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: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 ""
+"Предложите новую категорию на {freebsd-ports}. Включите подробное "
+"обоснование для новой категории, объясните, почему существующие категории "
+"недостаточны, и укажите список существующих портов, предлагаемых к "
+"перемещению. (Если в Bugzilla есть ожидающие рассмотрения новые порты, "
+"которые подходят под эту категорию, также перечислите их.) Если вы являетесь "
+"сопровождающим и/или подающим предложение, укажите это, так как это может "
+"помочь в рассмотрении."
+
+#. type: Plain text
+#: 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: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 ""
+"Если кажется, что идея находит поддержку, оформите PR, включающий как "
+"обоснование, так и список существующих портов, которые необходимо "
+"переместить. В идеале, этот PR также должен содержать следующие исправления:"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1081
+msgid "[.filename]##Makefile##s for the new ports once they are repocopied"
+msgstr ""
+"[.filename]##Makefile## для новых портов после копирования их репозитория"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1082
+msgid "[.filename]#Makefile# for the new category"
+msgstr "[.filename]#Makefile# для новой категории"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1083
+msgid "[.filename]#Makefile# for the old ports' categories"
+msgstr "[.filename]#Makefile# для старых категорий портов"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1084
+msgid "[.filename]##Makefile##s for ports that depend on the old ports"
+msgstr "[.filename]##Makefile## для портов, зависящих от старых портов"
+
+#. type: Plain text
+#: 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: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 ""
+"Поскольку это затрагивает инфраструктуру портов и включает перемещение и "
+"исправление многих портов, а также, возможно, проведение регрессионных "
+"тестов на сборочном кластере, назначьте PR для {portmgr}."
+
+#. type: Plain text
+#: 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 ""
+"Если этот PR будет одобрен, коммиттер должен будет выполнить оставшуюся "
+"часть процедуры, extref:{committers-guide}[описанной в Руководстве "
+"коммиттера,ports]."
+
+#. type: Plain text
+#: 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 ""
+"Предложение новой виртуальной категории аналогично описанному выше, но "
+"гораздо менее трудоёмко, так как фактически не потребуется перемещать порты. "
+"В этом случае единственные патчи, которые нужно включить в PR, — это "
+"добавление новой категории в `CATEGORIES` затронутых портов."
+
+#. type: Title ===
+#: 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: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:1101
+#, no-wrap
+msgid "The Distribution Files"
+msgstr "Файлы дистрибутива"
+
+#. type: Plain text
+#: 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 ""
+"Вторая часть [.filename]#Makefile# описывает файлы, которые необходимо "
+"загрузить для сборки порта, и места, откуда их можно скачать."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1106
+#, no-wrap
+msgid "`DISTNAME`"
+msgstr "`DISTNAME`"
+
+#. type: Plain text
+#: 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 ""
+"`DISTNAME` — это имя порта, используемое авторами программного обеспечения. "
+"По умолчанию `DISTNAME` имеет значение `${PORTNAME}-${DISTVERSIONPREFIX}$"
+"{DISTVERSION}${DISTVERSIONSUFFIX}`, а если не задано, `DISTVERSION` по "
+"умолчанию принимает значение `${PORTVERSION}`, поэтому переопределяйте "
+"`DISTNAME` только при необходимости. `DISTNAME` используется только в двух "
+"случаях. Во-первых, список файлов дистрибутива (`DISTFILES`) по умолчанию "
+"имеет значение `${DISTNAME}${EXTRACT_SUFX}`. Во-вторых, ожидается, что файл "
+"дистрибутива распакуется в подкаталог с именем `WRKSRC`, который по "
+"умолчанию равен [.filename]#work/${DISTNAME}#."
+
+#. type: Plain text
+#: 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 ""
+"Некоторые названия дистрибутивов от поставщиков, которые не соответствуют "
+"схеме `${PORTNAME}-${PORTVERSION}`, могут обрабатываться автоматически путем "
+"установки `DISTVERSIONPREFIX`, `DISTVERSION` и `DISTVERSIONSUFFIX`. "
+"`PORTVERSION` будет автоматически вычисляться из `DISTVERSION`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Только одна из переменных `PORTVERSION` и `DISTVERSION` может быть "
+"установлена одновременно. Если `DISTVERSION` не определяет корректную "
+"`PORTVERSION`, не используйте `DISTVERSION`."
+
+#. type: Plain text
+#: 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 ""
+"Если схема версий исходного проекта может быть преобразована в схему, "
+"совместимую с портами, установите некоторую переменную в версию исходного "
+"проекта, _не используйте_ имя переменной `DISTVERSION`. Установите "
+"`PORTVERSION` в вычисленную версию на основе созданной вами переменной и "
+"задайте `DISTNAME` соответствующим образом."
+
+#. type: Plain text
+#: 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 ""
+"Если схема версионирования вышестоящего проекта не может быть легко "
+"преобразована в значение, совместимое с портами, установите `PORTVERSION` в "
+"разумное значение и задайте `DISTNAME` как `PORTNAME` с дословной версией "
+"вышестоящего проекта."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1129
+#, no-wrap
+msgid "Deriving `PORTVERSION` Manually"
+msgstr "Получение `PORTVERSION` вручную"
+
+#. type: delimited block = 4
+#: 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 ""
+"BIND9 использует схему версионирования, несовместимую с версиями портов (в "
+"версиях используется `-`), и её нельзя получить с помощью `DISTVERSION`, так "
+"как после выпуска 9.9.9 выходят «уровни исправлений» в формате `9.9.9-P1`. "
+"`DISTVERSION` преобразует это в `9.9.9.p1`, что в схеме версионирования "
+"портов означает 9.9.9 pre-release 1, то есть версию, предшествующую 9.9.9, а "
+"не следующую за ней. Поэтому `PORTVERSION` вручную формируется из переменной "
+"`ISCVERSION`, чтобы получить `9.9.9p1`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Порядок, в котором система портов и pkg будут сортировать версии, "
+"проверяется с помощью аргумента `-t` из man:pkg-version[8]:"
+
+#. type: delimited block . 4
+#: 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 ""
+"% pkg version -t 9.9.9 9.9.9.p1\n"
+"> <.>\n"
+"% pkg version -t 9.9.9 9.9.9p1\n"
+"< <.>\n"
+
+#. type: Plain text
+#: 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 ""
+"Знак `>` означает, что первый аргумент, переданный в `-t`, больше второго "
+"аргумента. `9.9.9` находится после `9.9.9.p1`."
+
+#. type: Plain text
+#: 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 ""
+"Знак `<` означает, что первый аргумент, переданный в `-t`, меньше второго "
+"аргумента. `9.9.9` находится перед `9.9.9p1`."
+
+#. type: Plain text
+#: 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 ""
+"В файле [.filename]#Makefile# порта, например package:dns/bind99[], это "
+"достигается с помощью:"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: delimited block . 4
+#: 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 ""
+"MAINTAINER=\tmat@FreeBSD.org\n"
+"COMMENT=\tBIND DNS suite with updated DNSSEC and DNS64\n"
+"WWW=\t\thttps://www.isc.org/bind/\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1165
+#, no-wrap
+msgid "LICENSE=\tISCL\n"
+msgstr "LICENSE=\tISCL\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"# 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"
+
+#. type: Plain text
+#: 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 ""
+"Определите версию вышестоящего пакета в `ISCVERSION`, с комментарием, "
+"объясняющим, _почему_ это необходимо. Используйте `ISCVERSION` для получения "
+"совместимого с портами `PORTVERSION`. Используйте `ISCVERSION` напрямую для "
+"получения правильного URL для загрузки файла дистрибутива. Используйте "
+"`ISCVERSION` напрямую для именования дистрибутивного файла."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1177
+#, no-wrap
+msgid "Derive `DISTNAME` from `PORTVERSION`"
+msgstr "Получить `DISTNAME` из `PORTVERSION`"
+
+#. type: Plain text
+#: 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:1183
+msgid ""
+"In package:comms/kermit[], only the last element of the version is present "
+"in the distribution file:"
+msgstr ""
+"В пакете package:comms/kermit[], в файле дистрибутива присутствует только "
+"последний элемент версии:"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Plain text
+#: 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 ""
+"Модификатор `:E` man:make[1] возвращает суффикс переменной, в данном случае "
+"`304`. Файл дистрибутива корректно создаётся как `cku304-dev20.tar.gz`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1198
+#, no-wrap
+msgid "Exotic Case 1"
+msgstr "Экзотический случай 1"
+
+#. type: Plain text
+#: 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:1204
+msgid "From package:audio/libworkman[]:"
+msgstr "Из пакета package:audio/libworkman[]:"
+
+#. type: delimited block . 4
+#: 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 ""
+"PORTNAME= libworkman\n"
+"PORTVERSION= 1.4\n"
+"CATEGORIES= audio\n"
+"MASTER_SITES= LOCAL/jim\n"
+"DISTNAME= ${PORTNAME}-1999-06-20\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1217
+#, no-wrap
+msgid "Exotic Case 2"
+msgstr "Экзотический случай 2"
+
+#. type: Plain text
+#: 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 ""
+"В пакете package:comms/librs232[] файл дистрибутива не имеет версии, поэтому "
+"необходимо использовать crossref:makefiles[makefile-"
+"dist_subdir,`DIST_SUBDIR`]:"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Plain text
+#: 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 ""
+"`PKGNAMEPREFIX` и `PKGNAMESUFFIX` не влияют на `DISTNAME`. Также обратите "
+"внимание, что если `WRKSRC` равно [.filename]#${WRKDIR}/${DISTNAME}#, а "
+"исходный архив с исходным кодом называется иначе, чем `${PORTNAME}-$"
+"{PORTVERSION}${EXTRACT_SUFX}`, оставьте `DISTNAME` без изменений — "
+"определение только `DISTFILES` проще, чем определение и `DISTNAME`, и "
+"`WRKSRC` (а возможно, и `EXTRACT_SUFX`)."
+
+#. type: Plain text
+#: 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 "`MASTER_SITES`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Запишите именем каталога из FTP/HTTP-URL, указывающего на исходный tarball, "
+"в `MASTER_SITES`. Не забудьте завершающий слэш ([.filename]#/#)!"
+
+#. type: delimited block = 4
+#: 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 ""
+"Макросы `make` будут пытаться использовать эту спецификацию для загрузки "
+"файла дистрибутива с помощью `FETCH`, если не смогут найти его уже в системе."
+
+#. type: delimited block = 4
+#: 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: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 ""
+"`MASTER_SITES` не должен быть пустым. Он должен указывать на реальный сайт, "
+"где размещены файлы дистрибутива. Он не может указывать на веб-архивы или "
+"кэшированные сайты с файлами дистрибутива FreeBSD. Единственное исключение "
+"из этого правила — порты, у которых нет файлов дистрибутива. Например, мета-"
+"порты не имеют файлов дистрибутива, поэтому `MASTER_SITES` не нужно задавать."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1262
+#, no-wrap
+msgid "Using `MASTER_SITE_*` Variables"
+msgstr "Использование переменных `MASTER_SITE_*`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Для популярных архивов, таких как SourceForge (`SOURCEFORGE`), GNU (`GNU`) "
+"или Perl CPAN (`PERL_CPAN`), доступны сокращённые обозначения. "
+"`MASTER_SITES` может использовать их напрямую:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1269
+#, no-wrap
+msgid "MASTER_SITES=\tGNU/make\n"
+msgstr "MASTER_SITES=\tGNU/make\n"
+
+#. type: Plain text
+#: 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:1278
+#, no-wrap
+msgid ""
+"MASTER_SITES=\t\t${MASTER_SITE_GNU}\n"
+"MASTER_SITE_SUBDIR=\tmake\n"
+msgstr ""
+"MASTER_SITES=\t\t${MASTER_SITE_GNU}\n"
+"MASTER_SITE_SUBDIR=\tmake\n"
+
+#. type: Plain text
+#: 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 ""
+"Эти значения и переменные определены в https://cgit.freebsd.org/ports/tree/"
+"Mk/bsd.sites.mk[Mk/bsd.sites.mk]. Новые записи добавляются часто, поэтому "
+"обязательно проверяйте последнюю версию этого файла перед отправкой порта."
+
+#. type: delimited block = 4
+#: 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 ""
+"Для любой переменной `MASTER_SITE_FOO` можно использовать сокращение "
+"`_FOO_`. Например, используйте:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1291
+#, no-wrap
+msgid "MASTER_SITES=\tFOO\n"
+msgstr "MASTER_SITES=\tFOO\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1294
+msgid "If `MASTER_SITE_SUBDIR` is needed, use this:"
+msgstr "Если требуется `MASTER_SITE_SUBDIR`, используйте следующее:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1298
+#, no-wrap
+msgid "MASTER_SITES=\tFOO/bar\n"
+msgstr "MASTER_SITES=\tFOO/bar\n"
+
+#. type: Plain text
+#: 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 ""
+"Некоторые имена `MASTER_SITE_*` довольно длинные, и для удобства "
+"использования были определены сокращения:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1307
+#, no-wrap
+msgid "Shortcuts for `MASTER_SITE_*` Macros"
+msgstr "Сокращения для макросов `MASTER_SITE_*`"
+
+#. type: Table
+#: 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:1313
+#, no-wrap
+msgid "Shortcut"
+msgstr "Сокращение"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1314
+#, no-wrap
+msgid "`PERL_CPAN`"
+msgstr "`PERL_CPAN`"
+
+#. type: Table
+#: 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 "`CPAN`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1317
+#, no-wrap
+msgid "`GITHUB`"
+msgstr "`GITHUB`"
+
+#. type: Table
+#: 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 "`GH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1320
+#, no-wrap
+msgid "`GITHUB_CLOUD`"
+msgstr "`GITHUB_CLOUD`"
+
+#. type: Table
+#: 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 "`GHC`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1323
+#, no-wrap
+msgid "`LIBREOFFICE_DEV`"
+msgstr "`LIBREOFFICE_DEV`"
+
+#. type: Table
+#: 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 "`LODEV`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1326
+#, no-wrap
+msgid "`NETLIB`"
+msgstr "`NETLIB`"
+
+#. type: Table
+#: 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 "`NL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1329
+#, no-wrap
+msgid "`RUBYGEMS`"
+msgstr "`RUBYGEMS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1331
+#, no-wrap
+msgid "`RG`"
+msgstr "`RG`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1332
+#, no-wrap
+msgid "`SOURCEFORGE`"
+msgstr "`SOURCEFORGE`"
+
+#. type: Table
+#: 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 "`SF`"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1337
+#, no-wrap
+msgid "Magic MASTER_SITES Macros"
+msgstr "Волшебные макросы MASTER_SITES"
+
+#. type: delimited block = 4
+#: 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 ""
+"Существует несколько \"волшебных\" макросов для популярных сайтов с "
+"предсказуемой структурой каталогов. Для них достаточно использовать "
+"сокращение, и система автоматически выберет подкаталог. Например, для порта "
+"с именем `Stardict`, версии `1.2.3`, размещенного на SourceForge, добавьте "
+"следующую строку:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1346
+#, no-wrap
+msgid "MASTER_SITES=\tSF\n"
+msgstr "MASTER_SITES=\tSF\n"
+
+#. type: Plain text
+#: 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 ""
+"подразумевает подкаталог с именем `/project/stardict/stardict/1.2.3`. Если "
+"подразумеваемый каталог указан неверно, его можно переопределить:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1354
+#, no-wrap
+msgid "MASTER_SITES=\tSF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}\n"
+msgstr "MASTER_SITES=\tSF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}\n"
+
+#. type: Plain text
+#: 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:1362
+#, no-wrap
+msgid ""
+"MASTER_SITES=\tSF\n"
+"MASTER_SITE_SUBDIR=\tstardict/WyabdcRealPeopleTTS/${PORTVERSION}\n"
+msgstr ""
+"MASTER_SITES=\tSF\n"
+"MASTER_SITE_SUBDIR=\tstardict/WyabdcRealPeopleTTS/${PORTVERSION}\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1365
+#, no-wrap
+msgid "Magic `MASTER_SITES` Macros"
+msgstr "Волшебные макросы `MASTER_SITES`"
+
+#. type: Table
+#: 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:1372
+#, no-wrap
+msgid "`APACHE_COMMONS_BINARIES`"
+msgstr "`APACHE_COMMONS_BINARIES`"
+
+#. type: Table
+#: 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 "`${PORTNAME:S,commons-,,}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1375
+#, no-wrap
+msgid "`APACHE_COMMONS_SOURCE`"
+msgstr "`APACHE_COMMONS_SOURCE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1378
+#, no-wrap
+msgid "`APACHE_JAKARTA`"
+msgstr "`APACHE_JAKARTA`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1380
+#, no-wrap
+msgid "`${PORTNAME:S,-,/,}/source`"
+msgstr "`${PORTNAME:S,-,/,}/source`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1381
+#, no-wrap
+msgid "`BERLIOS`"
+msgstr "`BERLIOS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1383
+#, no-wrap
+msgid "`${PORTNAME:tl}.berlios`"
+msgstr "`${PORTNAME:tl}.berlios`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1384
+#, no-wrap
+msgid "`CHEESESHOP`"
+msgstr "`CHEESESHOP`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1386
+#, no-wrap
+msgid "`source/${DISTNAME:C/(.).\\*/\\1/}/${DISTNAME:C/(.*)-[0-9].*/\\1/}`"
+msgstr "`source/${DISTNAME:C/(.).\\*/\\1/}/${DISTNAME:C/(.*)-[0-9].*/\\1/}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1389
+#, no-wrap
+msgid "`${PORTNAME:C/-.*//}`"
+msgstr "`${PORTNAME:C/-.*//}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1390
+#, no-wrap
+msgid "`DEBIAN`"
+msgstr "`DEBIAN`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1392
+#, no-wrap
+msgid "`pool/main/${PORTNAME:C/^((lib)?.).*$/\\1/}/${PORTNAME}`"
+msgstr "`pool/main/${PORTNAME:C/^((lib)?.).*$/\\1/}/${PORTNAME}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1393
+#, no-wrap
+msgid "`FARSIGHT`"
+msgstr "`FARSIGHT`"
+
+#. type: Table
+#: 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: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 "`${PORTNAME}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1396
+#, no-wrap
+msgid "`FESTIVAL`"
+msgstr "`FESTIVAL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1398
+#, no-wrap
+msgid "`${PORTREVISION}`"
+msgstr "`${PORTREVISION}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1399
+#, no-wrap
+msgid "`GCC`"
+msgstr "`GCC`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1401
+#, no-wrap
+msgid "`releases/${DISTNAME}`"
+msgstr "`releases/${DISTNAME}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1402
+#, no-wrap
+msgid "`GENTOO`"
+msgstr "`GENTOO`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1404
+#, no-wrap
+msgid "`distfiles`"
+msgstr "`distfiles`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1405
+#, no-wrap
+msgid "`GIMP`"
+msgstr "`GIMP`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1407
+#, no-wrap
+msgid "`${PORTNAME}/${PORTVERSION:R}/`"
+msgstr "`${PORTNAME}/${PORTVERSION:R}/`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1410
+#, no-wrap
+msgid "`${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}?dummy=/`"
+msgstr "`${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}?dummy=/`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1413
+#, no-wrap
+msgid "`${GH_ACCOUNT}/${GH_PROJECT}/`"
+msgstr "`${GH_ACCOUNT}/${GH_PROJECT}/`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1414
+#, no-wrap
+msgid "`GNOME`"
+msgstr "`GNOME`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1416
+#, no-wrap
+msgid "`sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\\.[0-9]+).*/\\1/}`"
+msgstr "`sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\\.[0-9]+).*/\\1/}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1417
+#, no-wrap
+msgid "`GNU`"
+msgstr "`GNU`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1420
+#, no-wrap
+msgid "`GNUPG`"
+msgstr "`GNUPG`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1423
+#, no-wrap
+msgid "`GNU_ALPHA`"
+msgstr "`GNU_ALPHA`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1426
+#, no-wrap
+msgid "`HORDE`"
+msgstr "`HORDE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1432
+#, no-wrap
+msgid "`MATE`"
+msgstr "`MATE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1434
+#, no-wrap
+msgid "`${PORTVERSION:C/^([0-9]+\\.[0-9]+).*/\\1/}`"
+msgstr "`${PORTVERSION:C/^([0-9]+\\.[0-9]+).*/\\1/}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1435
+#, no-wrap
+msgid "`MOZDEV`"
+msgstr "`MOZDEV`"
+
+#. type: Table
+#: 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 "`${PORTNAME:tl}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1441
+#, no-wrap
+msgid "`QT`"
+msgstr "`QT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1443
+#, no-wrap
+msgid "`archive/qt/${PORTVERSION:R}`"
+msgstr "`archive/qt/${PORTVERSION:R}`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1444
+#, no-wrap
+msgid "`SAMBA`"
+msgstr "`SAMBA`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1447
+#, no-wrap
+msgid "`SAVANNAH`"
+msgstr "`SAVANNAH`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1451
+#, no-wrap
+msgid "`${PORTNAME:tl}/${PORTNAME:tl}/${PORTVERSION}`"
+msgstr "`${PORTNAME:tl}/${PORTNAME:tl}/${PORTVERSION}`"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1454
+#, no-wrap
+msgid "`USE_GITHUB`"
+msgstr "`USE_GITHUB`"
+
+#. type: Plain text
+#: 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 ""
+"Если файл дистрибутива получен из определённого коммита или тега на https://"
+"github.com/[GitHub], для которого нет официально выпущенного файла, "
+"существует простой способ автоматически установить правильные значения "
+"`DISTNAME` и `MASTER_SITES`."
+
+#. type: delimited block = 4
+#: 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 ""
+"По состоянию на 2023-02-21 link:https://github.blog/2023-02-21-update-on-the-"
+"future-stability-of-source-code-archives-and-hashes/[GitHub] объявили, что "
+"загрузки исходного кода будут стабильными в течение года. Пожалуйста, "
+"переключитесь на ресурсы выпусков (release assets), а если они недоступны, "
+"запросите их создание у вышестоящих разработчиков."
+
+#. type: Plain text
+#: 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:1468
+#, no-wrap
+msgid "`USE_GITHUB` Description"
+msgstr "`USE_GITHUB` Описание"
+
+#. type: Table
+#: 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: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:1476
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4879
+#, no-wrap
+msgid "`GH_ACCOUNT`"
+msgstr "`GH_ACCOUNT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1477
+#, no-wrap
+msgid "Account name of the GitHub user hosting the project"
+msgstr "Имя учётной записи пользователя GitHub, который размещает проект"
+
+#. type: Plain text
+#: 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 "`GH_PROJECT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1481
+#, no-wrap
+msgid "Name of the project on GitHub"
+msgstr "Название проекта на GitHub"
+
+#. type: Plain text
+#: 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 "`GH_TAGNAME`"
+
+#. type: Table
+#: 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 "Имя тега для загрузки (2.0.1, хэш, ...) Использование имени ветки здесь некорректно. Также можно использовать хэш идентификатора коммита для создания снимка состояния."
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1487
+#, no-wrap
+msgid "`${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}`"
+msgstr "`${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}`"
+
+#. type: Plain text
+#: 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 "`GH_SUBDIR`"
+
+#. type: Table
+#: 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 ""
+"Когда программному обеспечению требуется дополнительный файл дистрибутива для извлечения в\n"
+"`${WRKSRC}`, можно использовать эту переменную. Примеры можно найти в\n"
+"crossref:makefiles[makefile-master_sites-github-multiple, Загрузка нескольких файлов из GitHub] для получения дополнительной информации."
+
+#. type: Table
+#: 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:1494
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4883
+#, no-wrap
+msgid "`GH_TUPLE`"
+msgstr "`GH_TUPLE`"
+
+#. type: Table
+#: 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 "`GH_TUPLE` позволяет объединить `GH_ACCOUNT`, `GH_PROJECT`, `GH_TAGNAME` и `GH_SUBDIR` в одну переменную. Формат следующий: _account_`:`_project_`:`_tagname_`:`_group_`/`_subdir_. Часть `/`_subdir_ является необязательной. Это полезно, когда требуется получить несколько проектов с GitHub."
+
+#. type: delimited block = 4
+#: 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 ""
+"Не используйте `GH_TUPLE` для файла дистрибутива по умолчанию, так как у "
+"него нет значения по умолчанию."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1504
+#, no-wrap
+msgid "Simple Use of `USE_GITHUB`"
+msgstr "Простое использование `USE_GITHUB`"
+
+#. type: delimited block = 4
+#: 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 ""
+"При попытке создать порт для версии `1.2.7` pkg от пользователя FreeBSD на "
+"github, по адресу https://github.com/freebsd/pkg/[], файл "
+"[.filename]#Makefile# в итоге будет выглядеть следующим образом "
+"(незначительно сокращено для примера):"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1514
+#, no-wrap
+msgid ""
+"PORTNAME=\tpkg\n"
+"DISTVERSION=\t1.2.7\n"
+msgstr ""
+"PORTNAME=\tpkg\n"
+"DISTVERSION=\t1.2.7\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1517
+#, no-wrap
+msgid ""
+"USE_GITHUB=\tyes\n"
+"GH_ACCOUNT=\tfreebsd\n"
+msgstr ""
+"USE_GITHUB=\tyes\n"
+"GH_ACCOUNT=\tfreebsd\n"
+
+#. type: Plain text
+#: 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 ""
+"Он автоматически получит `MASTER_SITES` установленным в `GH` и `WRKSRC` в `$"
+"{WRKDIR}/pkg-1.2.7`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1523
+#, no-wrap
+msgid "More Complete Use of `USE_GITHUB`"
+msgstr "Более полное использование `USE_GITHUB`"
+
+#. type: Plain text
+#: 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 ""
+"При попытке создать порт для самой последней версии pkg от пользователя "
+"FreeBSD на github, по адресу https://github.com/freebsd/pkg/[], файл "
+"[.filename]#Makefile# в итоге выглядит следующим образом (незначительно "
+"сокращено для примера):"
+
+#. type: delimited block . 4
+#: 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 ""
+"PORTNAME=\tpkg-devel\n"
+"DISTVERSION=\t1.3.0.a.20140411\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"USE_GITHUB=\tyes\n"
+"GH_ACCOUNT=\tfreebsd\n"
+"GH_PROJECT=\tpkg\n"
+"GH_TAGNAME=\t6dbb17b\n"
+
+#. type: Plain text
+#: 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 ""
+"Он автоматически получит `MASTER_SITES` со значением `GH` и `WRKSRC` со "
+"значением `${WRKDIR}/pkg-6dbb17b`."
+
+#. type: delimited block * 4
+#: 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 ""
+"`20140411` — это дата коммита, указанного в `GH_TAGNAME`, а не дата "
+"редактирования файла [.filename]#Makefile# или дата создания коммита."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1549
+#, no-wrap
+msgid "Use of `USE_GITHUB` with `DISTVERSIONPREFIX`"
+msgstr "Использование `USE_GITHUB` с `DISTVERSIONPREFIX`"
+
+#. type: Plain text
+#: 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 ""
+"Время от времени `GH_TAGNAME` немного отличается от `DISTVERSION`. Например, "
+"если версия `1.0.2`, то тег будет `v1.0.2`. В таких случаях можно "
+"использовать `DISTVERSIONPREFIX` или `DISTVERSIONSUFFIX`:"
+
+#. type: delimited block . 4
+#: 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 ""
+"PORTNAME=\tfoo\n"
+"DISTVERSIONPREFIX=\tv\n"
+"DISTVERSION=\t1.0.2\n"
+
+#. type: delimited block . 4
+#: 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 "USE_GITHUB=\tyes\n"
+
+#. type: Plain text
+#: 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 ""
+"Он автоматически установит `GH_TAGNAME` в `v1.0.2`, в то время как `WRKSRC` "
+"останется `${WRKDIR}/foo-1.0.2`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1569
+#, no-wrap
+msgid "Using `USE_GITHUB` When Upstream Does Not Use Versions"
+msgstr "Использование `USE_GITHUB` при отсутствии версий у исходного проекта"
+
+#. type: Plain text
+#: 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 ""
+"Если никогда не было версии вышестоящего репозитория, не изобретайте её, "
+"например `0.1` или `1.0`. Создайте порт с `DISTVERSION` в формате "
+"`g__YYYYMMDD__`, где `g` означает Git, а `_YYYYMMDD_` представляет дату "
+"коммита, указанного в `GH_TAGNAME`."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1579
+#, no-wrap
+msgid ""
+"PORTNAME=\tbar\n"
+"DISTVERSION=\tg20140411\n"
+msgstr ""
+"PORTNAME=\tbar\n"
+"DISTVERSION=\tg20140411\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1582
+#, no-wrap
+msgid ""
+"USE_GITHUB=\tyes\n"
+"GH_TAGNAME=\tc472d66b\n"
+msgstr ""
+"USE_GITHUB=\tyes\n"
+"GH_TAGNAME=\tc472d66b\n"
+
+#. type: Plain text
+#: 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, this secion on how to compare versions] using man:pkg-version[8]):"
+msgstr ""
+"Это создаёт схему версионирования, которая увеличивается со временем и всё "
+"ещё находится до версии `0`. Подробности об использовании man:pkg-version[8] "
+"для сравнения версий смотрите в crossref:makefiles[makefile-versions-ex-pkg-"
+"version, этой секции]:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1591
+#, no-wrap
+msgid ""
+"% pkg version -t g20140411 0\n"
+"<\n"
+msgstr ""
+"% pkg version -t g20140411 0\n"
+"<\n"
+
+#. type: Plain text
+#: 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 ""
+"Что означает, что использование `PORTEPOCH` не потребуется, если вышестоящий "
+"проект решит сократить версии в будущем."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1597
+#, no-wrap
+msgid "Using `USE_GITHUB` to Access a Commit Between Two Versions"
+msgstr "Использование `USE_GITHUB` для доступа к коммиту между двумя версиями"
+
+#. type: Plain text
+#: 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 ""
+"Если текущая версия программного обеспечения использует тег Git, и порт "
+"необходимо обновить до более новой промежуточной версии без тега, "
+"используйте man:git-describe[1], чтобы определить версию для использования:"
+
+#. type: delimited block . 4
+#: 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 ""
+"% git describe --tags f0038b1\n"
+"v0.7.3-14-gf0038b1\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1609
+msgid "`v0.7.3-14-gf0038b1` can be split into three parts:"
+msgstr "`v0.7.3-14-gf0038b1` можно разделить на три части:"
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1610
+#, no-wrap
+msgid "`v0.7.3`"
+msgstr "`v0.7.3`"
+
+#. type: Plain text
+#: 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 ""
+"Это последний тег Git, который появляется в истории коммитов перед "
+"запрошенным коммитом."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1613
+#, no-wrap
+msgid "`-14`"
+msgstr "`-14`"
+
+#. type: Plain text
+#: 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 ""
+"Это означает, что запрошенный коммит `f0038b1` является 14-м коммитом после "
+"тега `v0.7.3`."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1616
+#, no-wrap
+msgid "`-gf0038b1`"
+msgstr "`-gf0038b1`"
+
+#. type: Plain text
+#: 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 ""
+"`-g` означает \"Git\", а `f0038b1` — это хеш коммита, на который указывает "
+"данная ссылка."
+
+#. type: delimited block . 4
+#: 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 ""
+"PORTNAME=\tbar\n"
+"DISTVERSIONPREFIX= v\n"
+"DISTVERSION=\t0.7.3-14\n"
+"DISTVERSIONSUFFIX= -gf0038b1\n"
+
+#. type: Plain text
+#: 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, this section for how to "
+"compare versions] using man:pkg-version[8]):"
+msgstr ""
+"Это создаёт схему версионирования, которая увеличивается со временем "
+"(точнее, с коммитами) и не конфликтует с созданием версии `0.7.4`. "
+"Подробности об использовании man:pkg-version[8] для сравнения версий "
+"смотрите в crossref:makefiles[makefile-versions-ex-pkg-version, этой "
+"секции] :"
+
+#. type: delimited block . 4
+#: 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 ""
+"% pkg version -t 0.7.3 0.7.3.14\n"
+"<\n"
+"% pkg version -t 0.7.3.14 0.7.4\n"
+"<\n"
+
+#. type: delimited block * 4
+#: 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:1649
+#, no-wrap
+msgid ""
+"% git describe --tags c66c71d\n"
+"v0.7.3\n"
+msgstr ""
+"% git describe --tags c66c71d\n"
+"v0.7.3\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"% git describe --tags --long c66c71d\n"
+"v0.7.3-0-gc66c71d\n"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1659
+#, no-wrap
+msgid "Fetching Multiple Files from GitHub"
+msgstr "Извлечение нескольких файлов из GitHub"
+
+#. type: delimited block = 4
+#: 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 ""
+"Фреймворк `USE_GITHUB` также поддерживает загрузку нескольких файлов "
+"дистрибутива из разных мест в GitHub. Он работает очень похоже на "
+"crossref:makefiles[porting-master-sites-n, Файлы дистрибуции или патчей из "
+"нескольких мест]."
+
+#. type: delimited block = 4
+#: 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 ""
+"В `GH_ACCOUNT`, `GH_PROJECT` и `GH_TAGNAME` добавляются несколько значений. "
+"Каждому различному значению присваивается группа. Основное значение может не "
+"иметь группы или принадлежать группе `:DEFAULT`. Значение может быть "
+"опущено, если оно совпадает со значением по умолчанию, указанным в "
+"crossref:makefiles[makefile-master_sites-github-description,описании "
+"`USE_GITHUB`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"`GH_TUPLE` также можно использовать, когда имеется множество файлов "
+"дистрибутива. Это помогает сохранять учётные данные, проект, имя тега и "
+"информацию о группе в одном месте."
+
+#. type: delimited block = 4
+#: 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 ""
+"Для каждой группы создаётся вспомогательная переменная `${WRKSRC_group}`, "
+"содержащая каталог, в который был извлечён файл. Переменные `${WRKSRC_group}"
+"` могут использоваться для перемещения каталогов во время `post-extract`, "
+"добавления в `CONFIGURE_ARGS` или любых других действий, необходимых для "
+"корректной сборки программного обеспечения."
+
+#. type: Plain text
+#: 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 ""
+"Часть `:__group__` _должна_ использоваться _только для одного_ файла "
+"дистрибутива. Она служит уникальным ключом, и её повторное использование "
+"приведёт к перезаписи предыдущих значений."
+
+#. type: Plain text
+#: 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 ""
+"Поскольку это всего лишь синтаксический сахар над `DISTFILES` и "
+"`MASTER_SITES`, имена групп должны соответствовать ограничениям на имена "
+"групп, описанным в crossref:makefiles[porting-master-sites-n, Файлы "
+"дистрибутивов или патчей из нескольких источников]"
+
+#. type: delimited block = 4
+#: 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 ""
+"При получении нескольких файлов из GitHub иногда файл дистрибутива по "
+"умолчанию не загружается из GitHub. Чтобы отключить загрузку файла "
+"дистрибутива по умолчанию, установите:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1695
+#, no-wrap
+msgid "USE_GITHUB=\tnodefault\n"
+msgstr "USE_GITHUB=\tnodefault\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"При использовании `USE_GITHUB=nodefault` в [.filename]#Makefile# необходимо "
+"указать `DISTFILES` в его crossref:porting-order[porting-order-"
+"portname,верхнем блоке]. Определение должно быть следующим:"
+
+#. type: delimited block . 4
+#: 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 "DISTFILES= ${DISTNAME}${EXTRACT_SUFX}\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1709
+#, no-wrap
+msgid "Use of `USE_GITHUB` with Multiple Distribution Files"
+msgstr "Использование `USE_GITHUB` с несколькими файлами дистрибутива"
+
+#. type: Plain text
+#: 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 ""
+"Время от времени возникает необходимость загрузить более одного файла "
+"дистрибутива. Например, когда вышестоящий репозиторий git использует "
+"подмодули. Это можно легко сделать с помощью групп в переменных `GH_*`:"
+
+#. type: delimited block . 4
+#: 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 ""
+"PORTNAME=\tfoo\n"
+"DISTVERSION=\t1.0.2\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: delimited block . 4
+#: 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 "CONFIGURE_ARGS=\t--with-contrib=${WRKSRC_contrib}\n"
+
+#. type: Plain text
+#: 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 ""
+"Это загрузит три файла дистрибутива с github. Стандартный берется из "
+"[.filename]#foo/foo# и имеет версию `1.0.2`. Второй, с группой `icons`, "
+"берется из [.filename]#bar/foo-icons# и имеет версию `1.0`. Третий берется "
+"из [.filename]#bar/foo-contrib# и использует Git-коммит `fa579bc`. Файлы "
+"дистрибутива называются [.filename]#foo-foo-1.0.2_GH0.tar.gz#, "
+"[.filename]#bar-foo-icons-1.0_GH0.tar.gz# и [.filename]#bar-foo-contrib-"
+"fa579bc_GH0.tar.gz#."
+
+#. type: Plain text
+#: 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 ""
+"Все файлы дистрибутива извлекаются в `${WRKDIR}` в соответствующих "
+"подкаталогах. Основной файл по-прежнему извлекается в `${WRKSRC}`, в данном "
+"случае, [.filename]#${WRKDIR}/foo-1.0.2#. Каждый дополнительный файл "
+"дистрибутива извлекается в `${WRKSRC_group}`. Здесь, для группы `icons`, он "
+"называется `${WRKSRC_icons}` и содержит [.filename]#${WRKDIR}/foo-"
+"icons-1.0#. Файл с группой `contrib` называется `${WRKSRC_contrib}` и "
+"содержит `${WRKDIR}/foo-contrib-fa579bc`."
+
+#. type: Plain text
+#: 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 ""
+"Система сборки программы ожидает найти иконки в подкаталоге [.filename]#ext/"
+"icons# в её исходниках, поэтому используется `GH_SUBDIR`. `GH_SUBDIR` "
+"гарантирует, что [.filename]#ext# существует, но [.filename]#ext/icons# ещё "
+"не существует. Затем он выполняет следующее:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1750
+#, no-wrap
+msgid ""
+"post-extract:\n"
+" @${MV} ${WRKSRC_icons} ${WRKSRC}/ext/icons\n"
+msgstr ""
+"post-extract:\n"
+" @${MV} ${WRKSRC_icons} ${WRKSRC}/ext/icons\n"
+
+#. type: Block title
+#: 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 "Использование `USE_GITHUB` с несколькими файлами дистрибутива с помощью `GH_TUPLE`"
+
+#. type: Plain text
+#: 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 ""
+"Это функционально эквивалентно crossref:makefiles[makefile-master_sites-"
+"github-multi,Использованию `USE_GITHUB` с несколькими файлами дистрибутива], "
+"но с использованием `GH_TUPLE`:"
+
+#. type: delimited block . 4
+#: 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 ""
+"USE_GITHUB=\tyes\n"
+"GH_TUPLE=\tbar:foo-icons:1.0:icons/ext/icons \\\n"
+"\t\tbar:foo-contrib:fa579bc:contrib\n"
+
+#. type: Plain text
+#: 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 ""
+"В предыдущем примере использовалась группировка с `bar:icons,contrib`. В "
+"`GH_TUPLE` присутствует избыточная информация, так как группировка "
+"невозможна."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1779
+#, no-wrap
+msgid "How to Use `USE_GITHUB` with Git Submodules?"
+msgstr "Как использовать `USE_GITHUB` с подмодулями Git?"
+
+#. type: Plain text
+#: 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 ""
+"Порты, использующие GitHub в качестве вышестоящего репозитория, иногда "
+"применяют подмодули. Подробнее см. man:git-submodule[1]."
+
+#. type: Plain text
+#: 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: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 ""
+"В качестве примера используем пакет package:finance/moneymanagerex[], его "
+"репозиторий на GitHub находится по адресу https://github.com/moneymanagerex/"
+"moneymanagerex/[]. В корне репозитория есть файл https://github.com/"
+"moneymanagerex/moneymanagerex/blob/master/.gitmodules[.gitmodules]. Этот "
+"файл описывает все подмодули, используемые в данном репозитории, и "
+"перечисляет дополнительные необходимые репозитории. Этот файл покажет, какие "
+"дополнительные репозитории требуются:"
+
+#. type: delimited block . 4
+#: 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 ""
+"[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"
+
+#. type: Plain text
+#: 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: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 ""
+"% 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"
+
+#. type: Plain text
+#: 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 ""
+"Это также можно найти на GitHub. Каждый подкаталог, который является "
+"подмодулем, отображается как `_директория @ хэш_`, например, `mongoose @ "
+"2140e59`."
+
+#. type: delimited block * 4
+#: 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 ""
+"Хотя получение информации из GitHub кажется более простым, данные, "
+"полученные с помощью `git submodule status`, будут более информативными. "
+"Например, здесь хеш коммита ``lib/wxsqlite3`` `fb66eb2` соответствует "
+"`v3.4.0`. Оба варианта можно использовать взаимозаменяемо, но если доступен "
+"тег, предпочтительнее использовать его."
+
+#. type: Plain text
+#: 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 ""
+"Теперь, когда вся необходимая информация собрана, можно написать "
+"[.filename]#Makefile# (показаны только строки, связанные с GitHub):"
+
+#. type: delimited block . 4
+#: 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 ""
+"PORTNAME=\tmoneymanagerex\n"
+"DISTVERSIONPREFIX=\tv\n"
+"DISTVERSION=\t1.3.0\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1872
+#, no-wrap
+msgid "`USE_GITLAB`"
+msgstr "`USE_GITLAB`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Подобно GitHub, если файл дистрибутива поставляется с https://gitlab.com/"
+"[gitlab.com] или использует программное обеспечение GitLab, эти переменные "
+"доступны для использования и могут потребовать установки."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1877
+#, no-wrap
+msgid "`USE_GITLAB` Description"
+msgstr "Описание `USE_GITLAB`"
+
+#. type: Plain text
+#: 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 "`GL_SITE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1886
+#, no-wrap
+msgid "Site name hosting the GitLab project"
+msgstr "Название сайта, на котором размещен проект GitLab"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1888
+#, no-wrap
+msgid "https://gitlab.com/"
+msgstr "https://gitlab.com/"
+
+#. type: Plain text
+#: 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 "`GL_ACCOUNT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1890
+#, no-wrap
+msgid "Account name of the GitLab user hosting the project"
+msgstr "Имя учётной записи пользователя GitLab, размещающего проект"
+
+#. type: Plain text
+#: 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 "`GL_PROJECT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1894
+#, no-wrap
+msgid "Name of the project on GitLab"
+msgstr "Название проекта на GitLab"
+
+#. type: Plain text
+#: 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 "`GL_COMMIT`"
+
+#. type: Table
+#: 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 "Хэш коммита для загрузки. Должен быть полным 160-битным, 40-символьным шестнадцатеричным хэшем sha1. Это обязательная переменная для GitLab."
+
+#. type: Table
+#: 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:1901
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4888
+#, no-wrap
+msgid "`GL_SUBDIR`"
+msgstr "`GL_SUBDIR`"
+
+#. type: Table
+#: 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 ""
+"Когда программному обеспечению требуется дополнительный файл дистрибутива для извлечения в\n"
+"`${WRKSRC}`, можно использовать эту переменную. Примеры можно найти в\n"
+"\tcrossref:makefiles[makefile-master_sites-gitlab-multiple, Загрузка нескольких файлов из GitLab] для получения дополнительной информации."
+
+#. type: Plain text
+#: 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 "`GL_TUPLE`"
+
+#. type: Table
+#: 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 "`GL_TUPLE` позволяет объединить `GL_SITE`, `GL_ACCOUNT`, `GL_PROJECT`, `GL_COMMIT` и `GL_SUBDIR` в одну переменную. Формат записи: _сайт_`:`_учётная запись_`:`_проект_`:`_коммит_`:`_группа_`/`_поддиректория_. Части _сайт_`:` и `/`_поддиректория_ являются необязательными. Это полезно, когда требуется загрузить данные из нескольких проектов GitLab."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1912
+#, no-wrap
+msgid "Simple Use of `USE_GITLAB`"
+msgstr "Простое использование `USE_GITLAB`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Пытаясь создать порт для версии `1.14` библиотеки libsignon-glib от "
+"пользователя accounts-sso на gitlab.com, по адресу https://gitlab.com/"
+"accounts-sso/libsignon-glib/[], файл [.filename]#Makefile# будет выглядеть "
+"следующим образом для загрузки дистрибутивных файлов:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1921
+#, no-wrap
+msgid ""
+"PORTNAME=\tlibsignon-glib\n"
+"DISTVERSION=\t1.14\n"
+msgstr ""
+"PORTNAME=\tlibsignon-glib\n"
+"DISTVERSION=\t1.14\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"USE_GITLAB=\tyes\n"
+"GL_ACCOUNT=\taccounts-sso\n"
+"GL_COMMIT=\te90302e342bfd27bc8c9132ab9d0ea3d8723fd03\n"
+
+#. type: Plain text
+#: 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 ""
+"Он автоматически получит `MASTER_SITES`, установленный на https://gitlab.com/"
+"[gitlab.com], и `WRKSRC` на `${WRKDIR}/libsignon-glib-"
+"e90302e342bfd27bc8c9132ab9d0ea3d8723fd03-"
+"e90302e342bfd27bc8c9132ab9d0ea3d8723fd03`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1931
+#, no-wrap
+msgid "More Complete Use of `USE_GITLAB`"
+msgstr "Более полное использование `USE_GITLAB`"
+
+#. type: Plain text
+#: 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 ""
+"Более полный пример использования вышеописанного, если порт не имеет "
+"версионирования и foobar принадлежит пользователю foo в проекте bar на "
+"самостоятельно размещенном сайте GitLab `https://gitlab.example.com/`, тогда "
+"[.filename]#Makefile# будет выглядеть следующим образом для загрузки "
+"дистрибутивных файлов:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1941
+#, no-wrap
+msgid ""
+"PORTNAME=\tfoobar\n"
+"DISTVERSION=\tg20170906\n"
+msgstr ""
+"PORTNAME=\tfoobar\n"
+"DISTVERSION=\tg20170906\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"USE_GITLAB=\tyes\n"
+"GL_SITE=\thttps://gitlab.example.com\n"
+"GL_ACCOUNT=\tfoo\n"
+"GL_PROJECT=\tbar\n"
+"GL_COMMIT=\t9c1669ce60c3f4f5eb43df874d7314483fb3f8a6\n"
+
+#. type: Plain text
+#: 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 ""
+"В нем будет установлено `MASTER_SITES` в `\"https://gitlab.example.com\"` и "
+"`WRKSRC` в `${WRKDIR}/"
+"bar-9c1669ce60c3f4f5eb43df874d7314483fb3f8a6-9c1669ce60c3f4f5eb43df874d7314483fb3f8a6`."
+
+#. type: delimited block = 6
+#: 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 ""
+"`20170906` — это дата коммита, указанного в `GL_COMMIT`, а не дата "
+"редактирования файла [.filename]#Makefile# или дата коммита в дерево портов "
+"FreeBSD."
+
+#. type: delimited block = 6
+#: 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 ""
+"Протокол, порт и корневая директория веб-сервера ``GL_SITE`` могут быть "
+"изменены в той же переменной."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1964
+#, no-wrap
+msgid "Fetching Multiple Files from GitLab"
+msgstr "Извлечение нескольких файлов из GitLab"
+
+#. type: delimited block = 4
+#: 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 ""
+"Фреймворк `USE_GITLAB` также поддерживает загрузку нескольких файлов "
+"дистрибутивов из различных мест GitLab и сайтов, размещённых на GitLab. Он "
+"работает очень похоже на crossref:makefiles[porting-master-sites-n, "
+"Несколько файлов дистрибутивов или патчей из разных местоположений] и "
+"crossref:makefiles[makefile-master_sites-gitlab-multiple, Загрузка "
+"нескольких файлов из GitLab]."
+
+#. type: delimited block = 4
+#: 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 ""
+"В `GL_SITE`, `GL_ACCOUNT`, `GL_PROJECT` и `GL_COMMIT` добавляются "
+"множественные значения. Каждое уникальное значение назначается группе. "
+"crossref:makefiles[makefile-master_sites-gitlab-description,Описание "
+"`USE_GITLAB`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"`GL_TUPLE` также может использоваться, когда имеется множество файлов "
+"дистрибутива. Это помогает хранить информацию о сайте, учётной записи, "
+"проекте, коммите и группе в одном месте."
+
+#. type: delimited block = 4
+#: 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 ""
+"При получении нескольких файлов с использованием GitLab иногда файл "
+"дистрибутива по умолчанию не загружается с сайта GitLab. Чтобы отключить "
+"загрузку файла дистрибутива по умолчанию, установите:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1999
+#, no-wrap
+msgid "USE_GITLAB=\tnodefault\n"
+msgstr "USE_GITLAB=\tnodefault\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"При использовании `USE_GITLAB=nodefault`, [.filename]#Makefile# должен "
+"устанавливать `DISTFILES` в своем crossref:makefiles[porting-order-"
+"portname,верхнем блоке]. Определение должно быть следующим:"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2015
+#, no-wrap
+msgid "Use of `USE_GITLAB` with Multiple Distribution Files"
+msgstr "Использование `USE_GITLAB` с несколькими файлами дистрибутива"
+
+#. type: Plain text
+#: 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 ""
+"Время от времени возникает необходимость загрузить более одного файла "
+"дистрибутива. Например, когда вышестоящий git-репозиторий использует "
+"подмодули. Это можно легко сделать с помощью групп в переменных `GL_*`:"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: delimited block . 4
+#: 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 "CONFIGURE_ARGS= --with-contrib=${WRKSRC_contrib}\n"
+
+#. type: Plain text
+#: 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 ""
+"Это загрузит два файла дистрибутива с gitlab.com и один с "
+"`gitlab.example.com`, где размещается GitLab. По умолчанию файл берется из "
+"[.filename]#https://gitlab.com/foo/foo#, а коммит — "
+"`c189207a55da45305c884fe2b50e086fcad4724b`. Второй файл, из группы `icons`, "
+"берется из [.filename]#https://gitlab.example.com:9434/gitlab/bar/foo-"
+"icons#, а коммит — `ae7368cab1ca7ca754b38d49da064df87968ffe4`. Третий файл "
+"берется из [.filename]#https://gitlab.com/bar/foo-contrib#, а коммит — "
+"`9e4dd76ad9b38f33fdb417a4c01935958d5acd2a`. Файлы дистрибутива называются "
+"[.filename]#foo-foo-c189207a55da45305c884fe2b50e086fcad4724b_GL0.tar.gz#, "
+"[.filename]#bar-foo-icons-"
+"ae7368cab1ca7ca754b38d49da064df87968ffe4_GL0.tar.gz# и [.filename]#bar-foo-"
+"contrib-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a_GL0.tar.gz#."
+
+#. type: Plain text
+#: 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 ""
+"Все файлы дистрибутива извлекаются в `${WRKDIR}` в соответствующих "
+"подкаталогах. Основной файл по-прежнему извлекается в `${WRKSRC}`, в данном "
+"случае это [.filename]#${WRKDIR}/foo-"
+"c189207a55da45305c884fe2b50e086fcad4724b-"
+"c189207a55da45305c884fe2b50e086fcad4724b#. Каждый дополнительный файл "
+"дистрибутива извлекается в `${WRKSRC_group}`. Здесь для группы `icons` он "
+"называется `${WRKSRC_icons}` и содержит [.filename]#${WRKDIR}/foo-icons-"
+"ae7368cab1ca7ca754b38d49da064df87968ffe4-"
+"ae7368cab1ca7ca754b38d49da064df87968ffe4#. Файл группы `contrib` называется "
+"`${WRKSRC_contrib}` и содержит `${WRKDIR}/foo-"
+"contrib-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a-9e4dd76ad9b38f33fdb417a4c01935958d5acd2a`."
+
+#. type: Plain text
+#: 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 ""
+"Система сборки программного обеспечения ожидает найти иконки в подкаталоге "
+"[.filename]#ext/icons# в своих исходниках, поэтому используется `GL_SUBDIR`. "
+"`GL_SUBDIR` гарантирует, что [.filename]#ext# существует, но [.filename]#ext/"
+"icons# ещё не существует. Затем она выполняет следующее:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2057
+#, no-wrap
+msgid ""
+"post-extract:\n"
+" @${MV} ${WRKSRC_icons} ${WRKSRC}/ext/icons\n"
+msgstr ""
+"post-extract:\n"
+" @${MV} ${WRKSRC_icons} ${WRKSRC}/ext/icons\n"
+
+#. type: Block title
+#: 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 "Использование `USE_GITLAB` с несколькими файлами дистрибуции с помощью `GL_TUPLE`"
+
+#. type: Plain text
+#: 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 ""
+"Это функционально эквивалентно crossref:makefiles[makefile-master_sites-"
+"gitlab-multi,Использование `USE_GITLAB` с несколькими файлами дистрибуции], "
+"но с использованием `GL_TUPLE`:"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Plain text
+#: 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 ""
+"В предыдущем примере использовалась группировка с `bar:icons,contrib`. "
+"Некоторую избыточную информацию приходится указывать с `GL_TUPLE`, так как "
+"группировка невозможна."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2086
+#, no-wrap
+msgid "`EXTRACT_SUFX`"
+msgstr "`EXTRACT_SUFX`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Если имеется один файл дистрибутива, и он использует нестандартное суффикс "
+"для указания механизма сжатия, установите `EXTRACT_SUFX`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Например, если файл дистрибутива был назван [.filename]#foo.tar.gzip# вместо "
+"более привычного [.filename]#foo.tar.gz#, напишите:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2096
+#, no-wrap
+msgid ""
+"DISTNAME=\tfoo\n"
+"EXTRACT_SUFX=\t.tar.gzip\n"
+msgstr ""
+"DISTNAME=\tfoo\n"
+"EXTRACT_SUFX=\t.tar.gzip\n"
+
+#. type: Plain text
+#: 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 ""
+"`USES=tar[:__xxx__]`, `USES=lha` или `USES=zip` автоматически устанавливают "
+"`EXTRACT_SUFX` в наиболее распространённые расширения архивов при "
+"необходимости, подробнее см. crossref:uses[uses,Использование макросов "
+"`USES`]. Если ни один из них не задан, `EXTRACT_SUFX` по умолчанию принимает "
+"значение `.tar.gz`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Как `EXTRACT_SUFX` используется только в `DISTFILES`, следует задавать "
+"только один из них."
+
+#. type: Plain text
+#: 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 "`DISTFILES`"
+
+#. type: Plain text
+#: 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 ""
+"Иногда названия файлов для загрузки не имеют ничего общего с именем порта. "
+"Например, файл может называться [.filename]#source.tar.gz# или подобным "
+"образом. В других случаях исходный код приложения может быть разбит на "
+"несколько различных архивов, все из которых необходимо загрузить."
+
+#. type: Plain text
+#: 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 ""
+"Если это так, установите `DISTFILES` как список разделённых пробелами "
+"файлов, которые необходимо загрузить."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2118
+#, no-wrap
+msgid "DISTFILES=\tsource1.tar.gz source2.tar.gz\n"
+msgstr "DISTFILES=\tsource1.tar.gz source2.tar.gz\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2121
+msgid ""
+"If not explicitly set, `DISTFILES` defaults to `${DISTNAME}${EXTRACT_SUFX}`."
+msgstr ""
+"Если явно не задано, `DISTFILES` по умолчанию равно `${DISTNAME}$"
+"{EXTRACT_SUFX}`."
+
+#. type: Plain text
+#: 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 "`EXTRACT_ONLY`"
+
+#. type: Plain text
+#: 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 ""
+"Если необходимо извлечь только некоторые из `DISTFILES` — например, один из "
+"них является исходным кодом, а другой — несжатым документом — укажите имена "
+"файлов, которые нужно извлечь, в `EXTRACT_ONLY`."
+
+#. type: delimited block . 4
+#: 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 ""
+"DISTFILES=\tsource.tar.gz manual.html\n"
+"EXTRACT_ONLY=\tsource.tar.gz\n"
+
+#. type: Plain text
+#: 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 ""
+"Если ни один из `DISTFILES` не требует распаковки, установите `EXTRACT_ONLY` "
+"в пустую строку."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2138
+#, no-wrap
+msgid "EXTRACT_ONLY=\n"
+msgstr "EXTRACT_ONLY=\n"
+
+#. type: Plain text
+#: 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 "`PATCHFILES`"
+
+#. type: Plain text
+#: 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 ""
+"Если порт требует дополнительных исправлений, доступных через FTP или HTTP, "
+"установите `PATCHFILES` в имена файлов, а `PATCH_SITES` — в URL каталога, "
+"содержащего их (формат такой же, как у `MASTER_SITES`)."
+
+#. type: Plain text
+#: 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 ""
+"Если патч не относится к корню исходного дерева (то есть к `WRKSRC`), потому "
+"что содержит дополнительные пути, установите `PATCH_DIST_STRIP` "
+"соответствующим образом. Например, если все пути в патче имеют "
+"дополнительный префикс `foozolix-1.0/` перед именами файлов, задайте "
+"`PATCH_DIST_STRIP=-p1`."
+
+#. type: Plain text
+#: 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 ""
+"Не беспокойтесь, если патчи сжаты; они будут автоматически распакованы, если "
+"их имена заканчиваются на [.filename]#.Z#, [.filename]#.gz#, "
+"[.filename]#.bz2# или [.filename]#.xz#."
+
+#. type: Plain text
+#: 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 ""
+"Если патч распространяется вместе с другими файлами, такими как "
+"документация, в сжатом tarball, использование `PATCHFILES` невозможно. В "
+"таком случае добавьте имя и расположение tarball с патчами в `DISTFILES` и "
+"`MASTER_SITES`. Затем используйте `EXTRA_PATCHES`, чтобы указать на эти "
+"файлы, и [.filename]#bsd.port.mk# автоматически применит их. В частности, "
+"_не_ копируйте файлы патчей в [.filename]#${PATCHDIR}#. Этот каталог может "
+"быть недоступен для записи."
+
+#. type: delimited block = 4
+#: 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 ""
+"Если есть несколько патчей и для них требуются разные значения параметра "
+"strip, его можно добавить рядом с именем патча в `PATCHFILES`, например:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2163
+#, no-wrap
+msgid "PATCHFILES=\tpatch1 patch2:-p1\n"
+msgstr "PATCHFILES=\tpatch1 patch2:-p1\n"
+
+#. type: Plain text
+#: 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 ""
+"Это не конфликтует с crossref:makefiles[porting-master-sites-n,функцией "
+"группировки мастер-сайтов], добавление группы также работает:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2170
+#, no-wrap
+msgid "PATCHFILES=\tpatch2:-p1:source2\n"
+msgstr "PATCHFILES=\tpatch2:-p1:source2\n"
+
+#. type: Plain text
+#: 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 ""
+"Tarball уже будет распакован вместе с обычными исходными кодами, поэтому нет "
+"необходимости явно его распаковывать, если это обычный сжатый tarball. "
+"Будьте особенно осторожны, чтобы не перезаписать существующие файлы в этом "
+"каталоге при ручной распаковке. Также не забудьте добавить команду для "
+"удаления скопированного патча в цель `pre-clean`."
+
+#. type: Title ===
+#: 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: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: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 ""
+"Этот раздел содержит информацию о механизме загрузки, известном как "
+"`MASTER_SITES:n` и `MASTER_SITES_NN`. Мы будем называть этот механизм "
+"`MASTER_SITES:n`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Небольшая предыстория. В OpenBSD есть удобная функция внутри `DISTFILES` и "
+"`PATCHFILES`, которая позволяет добавлять постфикс `:n` к файлам и патчам. "
+"Здесь `n` может быть любым словом, содержащим `[0-9a-zA-Z_]`, и обозначать "
+"группу. Например:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2196
+#, no-wrap
+msgid "DISTFILES=\talpha:0 beta:1\n"
+msgstr "DISTFILES=\talpha:0 beta:1\n"
+
+#. type: Plain text
+#: 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 ""
+"В OpenBSD файл дистрибутива [.filename]#alpha# будет связан с переменной "
+"`MASTER_SITES0`, а не с нашей общей `MASTER_SITES`, а [.filename]#beta# — с "
+"`MASTER_SITES1`."
+
+#. type: Plain text
+#: 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: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 ""
+"Представьте 2 файла в `DISTFILES` и 20 сайтов в `MASTER_SITES`, причём сайты "
+"медленные как черепаха, где [.filename]#beta# есть на всех сайтах из "
+"`MASTER_SITES`, а [.filename]#alpha# можно найти только на 20-м сайте. Было "
+"бы так обидно проверять их все, если бы сопровождающий знал это заранее, не "
+"так ли? Не самое лучшее начало для чудесных выходных!"
+
+#. type: Plain text
+#: 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 ""
+"Теперь, когда вы поняли идею, представьте больше `DISTFILES` и больше "
+"`MASTER_SITES`. Безусловно, наш \"мастер по исследованию distfiles\" оценил "
+"бы снижение нагрузки на сеть, которое это принесло бы."
+
+#. type: Plain text
+#: 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 ""
+"В следующих разделах будет приведена информация о реализации этой идеи в "
+"FreeBSD. Мы немного улучшили концепцию OpenBSD."
+
+#. type: delimited block = 4
+#: 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 ""
+"Имена групп не могут содержать дефисы (`-`), более того, они не могут "
+"содержать любые символы вне диапазона `[a-zA-Z0-9_]`. Это связано с тем, "
+"что, хотя man:make[1] допускает использование имён переменных с дефисами, "
+"man:sh[1] — нет."
+
+#. type: Title ====
+#: 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: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 ""
+"В этом разделе объясняется, как быстро настроить детализированное получение "
+"нескольких файлов дистрибутивов и патчей с разных сайтов и подкаталогов. "
+"Здесь описывается случай упрощённого использования `MASTER_SITES:n`. Этого "
+"будет достаточно для большинства сценариев. Более подробная информация "
+"доступна в crossref:makefiles[ports-master-sites-n-detailed, Подробная "
+"Информация]."
+
+#. type: Plain text
+#: 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 ""
+"Некоторые приложения состоят из нескольких распространяемых файлов, которые "
+"необходимо загрузить с различных сайтов. Например, Ghostscript включает "
+"основную часть программы и множество драйверов, используемых в зависимости "
+"от принтера пользователя. Некоторые из этих драйверов поставляются вместе с "
+"основной частью, но многие другие необходимо загружать с различных сайтов."
+
+#. type: Plain text
+#: 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 ""
+"Для поддержки этого, каждая запись в `DISTFILES` может сопровождаться "
+"двоеточием и \"именем группы\". Затем каждый сайт, указанный в "
+"`MASTER_SITES`, сопровождается двоеточием и группой, которая указывает, "
+"какие файлы дистрибутива загружаются с данного сайта."
+
+#. type: Plain text
+#: 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 ""
+"Например, рассмотрим приложение, исходный код которого разделён на две "
+"части: [.filename]#source1.tar.gz# и [.filename]#source2.tar.gz#, которые "
+"необходимо загрузить с двух разных сайтов. В [.filename]#Makefile# порта "
+"будут присутствовать строки, подобные crossref:makefiles[ports-master-sites-"
+"n-example-simple-use-one-file-per-site,Упрощённое использование "
+"`MASTER_SITES:n` с одним файлом на сайт]."
+
+#. type: Block title
+#: 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 "Упрощённое использование `MASTER_SITES:n` с одним файлом на сайт"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: delimited block = 4
+#: 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 ""
+"Несколько файлов дистрибутивов могут принадлежать одной группе. Продолжая "
+"предыдущий пример, предположим, что существует третий файл дистрибутива "
+"[.filename]#source3.tar.gz#, который загружается с `ftp.example2.com`. Тогда "
+"[.filename]#Makefile# будет записан, как показано в crossref:makefiles[ports-"
+"master-sites-n-example-simple-use-more-than-one-file-per-site,Упрощённое "
+"использование `MASTER_SITES:n` с несколькими файлами на один сайт]."
+
+#. type: Block title
+#: 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 "Упрощённое использование `MASTER_SITES:n` с несколькими файлами на одном сайте"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Title ====
+#: 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: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 ""
+"Хорошо, значит, предыдущий пример не отражал потребности нового порта? В "
+"этом разделе мы подробно объясним, как работает механизм детализированного "
+"получения `MASTER_SITES:n` и как его можно использовать."
+
+#. type: delimited block = 4
+#: 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 ""
+"Элементы могут иметь постфикс `:__n__`, где _n_ — это `[^:,]+`, то есть _n_ "
+"концептуально может быть любой буквенно-цифровой строкой, но пока мы "
+"ограничим её `[a-zA-Z_][0-9a-zA-Z_]+`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Более того, сравнение строк чувствительно к регистру; то есть, `n` "
+"отличается от `N`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Однако эти слова не могут использоваться для постфиксных целей, так как "
+"имеют специальное значение: `default`, `all` и `ALL` (они используются "
+"внутри системы, см. crossref:makefiles[porting-master-sites-n-what-changes-"
+"in-port-targets, ii]). Кроме того, `DEFAULT` является словом специального "
+"назначения (проверьте пункт crossref:makefiles[porting-master-sites-n-"
+"DEFAULT-group,3])."
+
+#. type: delimited block = 4
+#: 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 ""
+"Элементы с постфиксом `:n` принадлежат группе `n`, `:m` — группе `m` и так "
+"далее."
+
+#. type: delimited block = 4
+#: 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 ""
+"Элементы без постфикса не принадлежат к группам, все они относятся к "
+"специальной группе `DEFAULT`. Элементы с постфиксом `DEFAULT` избыточны, за "
+"исключением случаев, когда элемент одновременно принадлежит и к `DEFAULT`, и "
+"к другим группам (см. пункт crossref:makefiles[porting-master-sites-n-comma-"
+"operator,5])."
+
+#. type: delimited block = 4
+#: 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:2300
+#, no-wrap
+msgid "MASTER_SITES=\talpha\n"
+msgstr "MASTER_SITES=\talpha\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2305
+#, no-wrap
+msgid "MASTER_SITES=\talpha:DEFAULT\n"
+msgstr "MASTER_SITES=\talpha:DEFAULT\n"
+
+#. type: Plain text
+#: 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: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: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 ""
+"Вместо повторения несколько раз, каждый раз с разным постфиксом, мы можем "
+"перечислить несколько групп сразу в одном постфиксе. Например, `:m,n,o` "
+"обозначает элемент, принадлежащий группам `m`, `n` и `o`."
+
+#. type: Plain text
+#: 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:2320
+#, no-wrap
+msgid "MASTER_SITES=\talpha alpha:SOME_SITE\n"
+msgstr "MASTER_SITES=\talpha alpha:SOME_SITE\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2325
+#, no-wrap
+msgid "MASTER_SITES=\talpha:DEFAULT alpha:SOME_SITE\n"
+msgstr "MASTER_SITES=\talpha:DEFAULT alpha:SOME_SITE\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2330
+#, no-wrap
+msgid "MASTER_SITES=\talpha:SOME_SITE,DEFAULT\n"
+msgstr "MASTER_SITES=\talpha:SOME_SITE,DEFAULT\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2335
+#, no-wrap
+msgid "MASTER_SITES=\talpha:DEFAULT,SOME_SITE\n"
+msgstr "MASTER_SITES=\talpha:DEFAULT,SOME_SITE\n"
+
+#. type: Plain text
+#: 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 ""
+"Все сайты в заданной группе сортируются согласно `MASTER_SORT_AWK`. Все "
+"группы в `MASTER_SITES` и `PATCH_SITES` также сортируются."
+
+#. type: Plain text
+#: 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 ""
+"Семантика групп может использоваться в любых переменных `MASTER_SITES`, "
+"`PATCH_SITES`, `MASTER_SITE_SUBDIR`, `PATCH_SITE_SUBDIR`, `DISTFILES` и "
+"`PATCHFILES` согласно следующему синтаксису:"
+
+#. type: Plain text
+#: 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 ""
+"Все элементы `MASTER_SITES`, `PATCH_SITES`, `MASTER_SITE_SUBDIR` и "
+"`PATCH_SITE_SUBDIR` должны заканчиваться символом дробной черты `/`. Если "
+"элементы принадлежат к какой-либо группе, постфикс группы `:__n__` должен "
+"следовать сразу после завершающего символа `/`. Механизм `MASTER_SITES:n` "
+"полагается на наличие завершающего символа `/`, чтобы избежать путаницы "
+"между элементами, где `:n` является допустимой частью элемента, и случаями, "
+"где `:n` обозначает группу `n`. В целях совместимости, поскольку ранее "
+"завершающий символ `/` не требовался в элементах `MASTER_SITE_SUBDIR` и "
+"`PATCH_SITE_SUBDIR`, если символ, непосредственно предшествующий постфиксу, "
+"не является `/`, то `:n` будет считаться допустимой частью элемента, а не "
+"постфиксом группы, даже если элемент оканчивается на `:n`. См. оба раздела "
+"crossref:makefiles[ports-master-sites-n-example-detailed-use-master-site-"
+"subdir,Подробное использование `MASTER_SITES:n` в `MASTER_SITE_SUBDIR`] и "
+"crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-"
+"example-master-sites,Подробное использование `MASTER_SITES:n` с оператором "
+"запятая, несколькими файлами, несколькими сайтами и несколькими "
+"подкаталогами]."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2357
+#, no-wrap
+msgid "Detailed Use of `MASTER_SITES:n` in `MASTER_SITE_SUBDIR`"
+msgstr "Подробное использование `MASTER_SITES:n` в `MASTER_SITE_SUBDIR`"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2364
+#, no-wrap
+msgid "MASTER_SITE_SUBDIR=\told:n new/:NEW\n"
+msgstr "MASTER_SITE_SUBDIR=\told:n new/:NEW\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2367
+msgid "Directories within group `DEFAULT` -> old:n"
+msgstr "Каталоги в группе `DEFAULT` -> old:n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2368
+msgid "Directories within group `NEW` -> new"
+msgstr "Каталоги в группе `NEW` -> new"
+
+#. type: Block title
+#: 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 "Подробное использование `MASTER_SITES:n` с оператором запятая, несколькими файлами, сайтами и подкаталогами"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Plain text
+#: 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:2396
+msgid "[.filename]#file1# will be fetched from"
+msgstr "[.filename]#file1# будет загружен из"
+
+#. 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: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 "`MASTER_SITE_OVERRIDE`"
+
+#. type: Plain text
+#: 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 "http://site1/directory-trial:1/"
+
+#. type: Plain text
+#: 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 "http://site1/directory-one/"
+
+#. type: Plain text
+#: 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 "http://site1/directory/"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2402
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2412
+msgid "http://site2/"
+msgstr "http://site2/"
+
+#. type: Plain text
+#: 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 "http://site7/"
+
+#. type: Plain text
+#: 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 "`MASTER_SITE_BACKUP`"
+
+#. type: Plain text
+#: 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 ""
+"[.filename]#file2# будет загружен точно так же, как [.filename]#file1#, "
+"поскольку они оба принадлежат к одной и той же группе"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2416
+msgid "[.filename]#file3# will be fetched from"
+msgstr "[.filename]#file3# будет загружен из"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2419
+msgid "http://site3/"
+msgstr "http://site3/"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2422
+msgid "[.filename]#file4# will be fetched from"
+msgstr "[.filename]#file4# будет загружен из"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2425
+msgid "http://site4/"
+msgstr "http://site4/"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2426
+msgid "http://site5/"
+msgstr "http://site5/"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2427
+msgid "http://site6/"
+msgstr "http://site6/"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2429
+msgid "http://site8/directory-one/"
+msgstr "http://site8/directory-one/"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2432
+msgid "[.filename]#file5# will be fetched from"
+msgstr "[.filename]#file5# будет загружен из"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2437
+msgid "[.filename]#file6# will be fetched from"
+msgstr "[.filename]#file6# будет получен из"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2440
+msgid "http://site8/"
+msgstr "http://site8/"
+
+#. type: delimited block = 4
+#: 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 ""
+"Как сгруппировать один из специальных макросов из [.filename]#bsd.sites.mk#, "
+"например, SourceForge (`SF`)?"
+
+#. type: delimited block = 4
+#: 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 ""
+"Это максимально упрощено. См. crossref:makefiles[ports-master-sites-n-"
+"example-detailed-use-master-site-sourceforge,Подробное использование "
+"`MASTER_SITES:n` с SourceForge (`SF`)]."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2451
+#, no-wrap
+msgid "Detailed Use of `MASTER_SITES:n` with SourceForge (`SF`)"
+msgstr "Подробное использование `MASTER_SITES:n` с SourceForge (`SF`)"
+
+#. type: delimited block . 4
+#: 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 ""
+"MASTER_SITES=\thttp://site1/ SF/something/1.0:sourceforge,TEST\n"
+"DISTFILES=\tsomething.tar.gz:sourceforge\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2462
+msgid ""
+"[.filename]#something.tar.gz# will be fetched from all sites within "
+"SourceForge."
+msgstr ""
+"[.filename]#something.tar.gz# будет загружен со всех сайтов в пределах "
+"SourceForge."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2464
+msgid "How do I use this with `PATCH*`?"
+msgstr "Как использовать это с `PATCH*`?"
+
+#. type: delimited block = 4
+#: 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 ""
+"Все примеры были выполнены с `MASTER*`, но они работают точно так же для "
+"`PATCH*`, как можно увидеть в crossref:makefiles[ports-master-sites-n-"
+"example-detailed-use-patch-sites,Упрощённое использование `MASTER_SITES:n` с "
+"`PATCH_SITES`]."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2470
+#, no-wrap
+msgid "Simplified Use of `MASTER_SITES:n` with `PATCH_SITES`"
+msgstr "Упрощённое использование `MASTER_SITES:n` с `PATCH_SITES`"
+
+#. type: delimited block . 4
+#: 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 ""
+"PATCH_SITES=\thttp://site1/ http://site2/:test\n"
+"PATCHFILES=\tpatch1:test\n"
+
+#. type: Title ====
+#: 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: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 ""
+"Все текущие порты остаются без изменений. Функция `MASTER_SITES:n` "
+"активируется только при наличии элементов с постфиксом `:__n__`, "
+"соответствующих указанным выше синтаксическим правилам, в частности, как "
+"показано в пункте crossref:makefiles[porting-master-sites-n-group-semantics, "
+"7]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Порты сохраняют те же цели: `checksum`, `makesum`, `patch`, `configure`, "
+"`build` и т.д., за исключением очевидных случаев: `do-fetch`, `fetch-list`, "
+"`master-sites` и `patch-sites`."
+
+#. type: delimited block = 4
+#: 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 ""
+"`do-fetch`: развертывает новую группировку с постфиксом `DISTFILES` и "
+"`PATCHFILES` с соответствующими групповыми элементами в `MASTER_SITES` и "
+"`PATCH_SITES`, которые используют соответствующие групповые элементы в "
+"`MASTER_SITE_SUBDIR` и `PATCH_SITE_SUBDIR`. Проверьте "
+"crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-"
+"example-master-sites,Подробное использование `MASTER_SITES:n` с оператором "
+"запятой, множественными файлами, множественными сайтами и множественными "
+"подкаталогами]."
+
+#. type: delimited block = 4
+#: 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 ""
+"`fetch-list`: работает как старый `fetch-list`, за исключением того, что "
+"группировка происходит так же, как в `do-fetch`."
+
+#. type: delimited block = 4
+#: 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 ""
+"`master-sites` и `patch-sites`: (несовместимо с более старыми версиями) "
+"возвращают только элементы группы `DEFAULT`; фактически они выполняют цели "
+"`master-sites-default` и `patch-sites-default` соответственно."
+
+#. type: delimited block = 4
+#: 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 ""
+"Кроме того, предпочтительнее использовать цель `master-sites-all` или `patch-"
+"sites-all`, чем напрямую проверять `MASTER_SITES` или `PATCH_SITES`. Кроме "
+"того, прямая проверка не гарантирует работу в будущих версиях. Для получения "
+"дополнительной информации об этих новых целях портов см. пункт "
+"crossref:makefiles[porting-master-sites-n-new-port-targets-master-sites-all, "
+"B]."
+
+#. type: delimited block = 4
+#: 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: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 ""
+"Существуют цели `master-sites-_n_` и `patch-sites-_n_`, которые будут "
+"выводить элементы соответствующей группы _n_ в `MASTER_SITES` и "
+"`PATCH_SITES` соответственно. Например, и `master-sites-DEFAULT`, и `patch-"
+"sites-DEFAULT` вернут элементы группы `DEFAULT`, `master-sites-test` и "
+"`patch-sites-test` — группы `test`, и так далее."
+
+#. type: delimited block = 4
+#: 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 ""
+"Существуют новые цели `master-sites-all` и `patch-sites-all`, которые "
+"выполняют работу старых `master-sites` и `patch-sites`. Они возвращают "
+"элементы всех групп, как если бы они все принадлежали одной группе, с "
+"оговоркой, что перечисляется столько же `MASTER_SITE_BACKUP` и "
+"`MASTER_SITE_OVERRIDE`, сколько определено групп в `DISTFILES` или "
+"`PATCHFILES`; соответственно для `master-sites-all` и `patch-sites-all`."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2514
+#, no-wrap
+msgid "`DIST_SUBDIR`"
+msgstr "`DIST_SUBDIR`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Не допускайте захламления портом каталога [.filename]#/usr/ports/distfiles#. "
+"Если порт требует загрузки большого количества файлов или содержит файл с "
+"именем, которое может конфликтовать с другими портами (например, "
+"[.filename]#Makefile#), установите `DIST_SUBDIR` в имя порта (подойдут `$"
+"{PORTNAME}` или `${PKGNAMEPREFIX}${PORTNAME}`). Это изменит `DISTDIR` со "
+"значения по умолчанию [.filename]#/usr/ports/distfiles# на [.filename]#/usr/"
+"ports/distfiles/${DIST_SUBDIR}#, фактически помещая все необходимые для "
+"порта файлы в этот подкаталог."
+
+#. type: delimited block = 4
+#: 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 ""
+"Также будет проверяться подкаталог с тем же именем на основном резервном "
+"сайте по адресу http://distcache.FreeBSD.org[http://distcache.FreeBSD.org] "
+"(Явное указание `DISTDIR` в [.filename]#Makefile# не решит эту задачу, "
+"поэтому используйте `DIST_SUBDIR`.)"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2525
+msgid ""
+"This does not affect `MASTER_SITES` defined in the [.filename]#Makefile#."
+msgstr ""
+"Это не влияет на сайты в `MASTER_SITES`, определённые в "
+"[.filename]#Makefile#."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2528
+#, no-wrap
+msgid "`MAINTAINER`"
+msgstr "`MAINTAINER`"
+
+#. type: delimited block = 4
+#: 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: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 ""
+"Только один адрес без комментария допускается в качестве значения "
+"`MAINTAINER`. Используемый формат: `user@hostname.domain`. Пожалуйста, не "
+"включайте в эту запись описательный текст, например, настоящее имя. Это "
+"только вносит путаницу в инфраструктуру Ports и большинство инструментов, "
+"которые её используют."
+
+#. type: delimited block = 4
+#: 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 ""
+"Ответственный за поддержку порта обязан поддерживать порт в актуальном "
+"состоянии и обеспечивать его корректную работу. Подробное описание "
+"обязанностей ответственного за поддержку порта приведено в разделе extref:"
+"{contributing}[Задача для сопровождающих портов,maintain-port]."
+
+#. type: Plain text
+#: 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 ""
+"Сопровождающий добровольно поддерживает порт в рабочем состоянии. "
+"Сопровождающие несут основную ответственность за свои порты, но не имеют "
+"исключительных прав на них. Порты существуют для пользы сообщества и, по "
+"сути, принадлежат сообществу. Это означает, что люди, не являющиеся "
+"сопровождающими, также могут вносить изменения в порт. Крупные изменения в "
+"коллекции портов могут потребовать правок во многих портах. Команда "
+"управления портами FreeBSD или члены других команд могут изменять порты для "
+"исправления проблем с зависимостями или других проблем, таких как обновление "
+"версии динамической библиотеки."
+
+#. type: Plain text
+#: 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 ""
+"Некоторые типы исправлений имеют \"автоматическое согласование\" от "
+"{portmgr}, что позволяет любому коммиттеру исправлять эти категории проблем "
+"в любом порте. Такие исправления не требуют одобрения от сопровождающего."
+
+#. type: Plain text
+#: 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 ""
+"Автоматическое согласование для большинства портов применяется к "
+"исправлениям, таким как изменения инфраструктуры, или тривиальным и "
+"_проверенным_ исправлениям сборки и выполнения. Текущий список доступен в "
+"extref:{committers-guide}[разделе Портов Руководства коммиттера, ports-qa-"
+"misc-blanket-approval]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Другие изменения в порте будут отправлены сопровождающему на проверку и "
+"утверждение перед внесением. Если сопровождающий не отвечает на запрос об "
+"обновлении в течение двух недель (за исключением основных государственных "
+"праздников), это считается превышением времени ожидания сопровождающего, и "
+"обновление может быть внесено без его явного одобрения. Если сопровождающий "
+"не отвечает в течение трех месяцев или если произошло три последовательных "
+"превышения времени ожидания, то сопровождающий считается отсутствующим без "
+"уведомления, и все его порты могут быть возвращены в общий пул. Исключениями "
+"являются порты, сопровождаемые {portmgr} или {security-officer}. Никакие "
+"несанкционированные изменения не могут быть внесены в порты, сопровождаемые "
+"этими группами."
+
+#. type: delimited block = 4
+#: 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: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 ""
+"{portmgr} оставляет за собой право отозвать или изменить права "
+"сопровождающего по любой причине, а {security-officer} оставляет за собой "
+"право отозвать или изменить права сопровождающего по соображениям "
+"безопасности."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2569
+#, no-wrap
+msgid "`COMMENT`"
+msgstr "`COMMENT`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Комментарий — это однострочное описание порта, отображаемое командой `pkg "
+"info`. При составлении придерживайтесь следующих правил:"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2575
+msgid "The COMMENT string should be 70 characters or less."
+msgstr "Строка COMMENT должна быть не длиннее 70 символов."
+
+#. type: delimited block = 4
+#: 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: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:2578
+msgid "Do not start with an indefinite article (that is, A or An)."
+msgstr "Не начинайте с неопределённого артикля (то есть A или An)."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2579
+msgid "Capitalize names such as Apache, JavaScript, or Perl."
+msgstr ""
+"Пишите названия с заглавной буквы, например: Apache, JavaScript или Perl."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2580
+msgid "Use a serial comma for lists of words: \"green, red, and blue.\""
+msgstr "Используйте запятую для списков слов: \"green, red, and blue.\""
+
+#. type: delimited block = 4
+#: 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:2583
+msgid "Here is an example:"
+msgstr "Вот пример:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2587
+#, no-wrap
+msgid "COMMENT=\tCat chasing a mouse all over the screen\n"
+msgstr "COMMENT=\tCat chasing a mouse all over the screen\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2590
+msgid ""
+"The COMMENT variable immediately follows the MAINTAINER variable in the "
+"[.filename]#Makefile#."
+msgstr ""
+"Переменная COMMENT следует сразу за переменной MAINTAINER в файле "
+"[.filename]#Makefile#."
+
+#. type: Title ==
+#: 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: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: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:2601
+#, no-wrap
+msgid "WWW=\t\thttps://ffmpeg.org/\n"
+msgstr "WWW=\t\thttps://ffmpeg.org/\n"
+
+#. type: Plain text
+#: 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:2608
+#, no-wrap
+msgid "WWW=\t\thttps://sourceforge.net/projects/mpd/\n"
+msgstr "WWW=\t\thttps://sourceforge.net/projects/mpd/\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2611
+msgid ""
+"The WWW variable immediately follows the COMMENT variable in the "
+"[.filename]#Makefile#."
+msgstr ""
+"Переменная WWW следует сразу за переменной COMMENT в файле "
+"[.filename]#Makefile#."
+
+#. type: Plain text
+#: 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 ""
+"Если один и тот же контент доступен по HTTP и HTTPS, следует использовать "
+"URL, начинающийся с `https://`. Если URI является корнем веб-сайта или "
+"директории, он должен заканчиваться косой чертой."
+
+#. type: Plain text
+#: 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 ""
+"Эта информация ранее размещалась в последней строке файла [.filename]#pkg-"
+"descr#. Она была перенесена в Makefile для удобства обслуживания и "
+"обработки. Наличие строки `WWW:` в конце файла [.filename]#pkg-descr# "
+"считается устаревшим."
+
+#. type: Title ==
+#: 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: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 ""
+"Каждый порт должен содержать документацию о лицензии, под которой он "
+"распространяется. Если лицензия не одобрена OSI, необходимо также указать "
+"любые ограничения на распространение."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2626
+#, no-wrap
+msgid "`LICENSE`"
+msgstr "`LICENSE`"
+
+#. type: Plain text
+#: 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: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 ""
+"Если это одна из лицензий, перечисленных в crossref:makefiles[licenses-"
+"license-list,Предопределенный список лицензий], можно задать только "
+"переменные `LICENSE_FILE` и `LICENSE_DISTFILES`."
+
+#. type: Plain text
+#: 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 ""
+"Если это лицензия, которая не определена в рамках портов (см. "
+"crossref:makefiles[licenses-license-list,Список предопределённых лицензий]), "
+"необходимо задать `LICENSE_PERMS` и `LICENSE_NAME`, а также `LICENSE_FILE` "
+"или `LICENSE_TEXT`. Также можно задать `LICENSE_DISTFILES` и "
+"`LICENSE_GROUPS`, но это не обязательно."
+
+#. type: Plain text
+#: 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 ""
+"Предопределенные лицензии показаны в crossref:makefiles[licenses-license-"
+"list,Список предопределенных лицензий]. Текущий список всегда доступен в "
+"[.filename]#Mk/bsd.licenses.db.mk#."
+
+#. type: Block title
+#: 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: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 ""
+"Когда в файле [.filename]#README# какого-либо программного обеспечения "
+"указано: «Данное программное обеспечение распространяется на условиях GNU "
+"Lesser General Public License, опубликованной Free Software Foundation; либо "
+"версии 2.1 Лицензии, либо (по вашему выбору) любой более поздней версии», но "
+"сам файл лицензии не предоставлен, используйте следующее:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2649
+#, no-wrap
+msgid "LICENSE=\tLGPL21+\n"
+msgstr "LICENSE=\tLGPL21+\n"
+
+#. type: Plain text
+#: 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:2657
+#, no-wrap
+msgid ""
+"LICENSE=\tLGPL21+\n"
+"LICENSE_FILE=\t${WRKSRC}/COPYING\n"
+msgstr ""
+"LICENSE=\tLGPL21+\n"
+"LICENSE_FILE=\t${WRKSRC}/COPYING\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"Для предопределённых лицензий права по умолчанию: `dist-mirror dist-sell pkg-"
+"mirror pkg-sell auto-accept`."
+
+#. type: Block title
+#: 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:2668
+#, no-wrap
+msgid "Short Name"
+msgstr "Короткое имя"
+
+#. type: Table
+#: 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:2670
+#, no-wrap
+msgid "Group"
+msgstr "Группа"
+
+#. type: Table
+#: 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:2673
+#, no-wrap
+msgid "`AGPLv3`"
+msgstr "`AGPLv3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2674
+#, no-wrap
+msgid "GNU Affero General Public License version 3"
+msgstr "Универсальная общественная лицензия GNU Affero версии 3"
+
+#. type: Table
+#: 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 "`FSF GPL OSI`"
+
+#. type: Table
+#: 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 "`AGPLv3+`"
+
+#. 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 "Универсальная общественная лицензия GNU Affero версии 3 (или позднее)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2683
+#, no-wrap
+msgid "`APACHE10`"
+msgstr "`APACHE10`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2684
+#, no-wrap
+msgid "Apache License 1.0"
+msgstr "Apache License 1.0"
+
+#. type: Labeled list
+#: 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 "`FSF`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2688
+#, no-wrap
+msgid "`APACHE11`"
+msgstr "`APACHE11`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2689
+#, no-wrap
+msgid "Apache License 1.1"
+msgstr "Apache License 1.1"
+
+#. type: Table
+#: 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 "`FSF OSI`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2693
+#, no-wrap
+msgid "`APACHE20`"
+msgstr "`APACHE20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2694
+#, no-wrap
+msgid "Apache License 2.0"
+msgstr "Apache License 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2698
+#, no-wrap
+msgid "`ART10`"
+msgstr "`ART10`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2699
+#, no-wrap
+msgid "Artistic License version 1.0"
+msgstr "Художественная лицензия версия 1.0"
+
+#. type: Labeled list
+#: 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 "`OSI`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2703
+#, no-wrap
+msgid "`ART20`"
+msgstr "`ART20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2704
+#, no-wrap
+msgid "Artistic License version 2.0"
+msgstr "Художественная лицензия версии 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2708
+#, no-wrap
+msgid "`ARTPERL10`"
+msgstr "`ARTPERL10`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2709
+#, no-wrap
+msgid "Artistic License (perl) version 1.0"
+msgstr "Художественная лицензия (perl) версия 1.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2713
+#, no-wrap
+msgid "`BSD`"
+msgstr "`BSD`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2714
+#, no-wrap
+msgid "BSD license Generic Version (deprecated)"
+msgstr "Лицензия BSD, общая версия (устарела)"
+
+#. type: Table
+#: 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 "`FSF OSI COPYFREE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2718
+#, no-wrap
+msgid "`BSD2CLAUSE`"
+msgstr "`BSD2CLAUSE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2719
+#, no-wrap
+msgid "BSD 2-clause \"Simplified\" License"
+msgstr "BSD 2-пунктная лицензия \"Упрощенная\""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2723
+#, no-wrap
+msgid "`BSD3CLAUSE`"
+msgstr "`BSD3CLAUSE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2724
+#, no-wrap
+msgid "BSD 3-clause \"New\" or \"Revised\" License"
+msgstr "BSD 3-пунктная лицензия \"Новая\" или \"Пересмотренная\""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2728
+#, no-wrap
+msgid "`BSD4CLAUSE`"
+msgstr "`BSD4CLAUSE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2729
+#, no-wrap
+msgid "BSD 4-clause \"Original\" or \"Old\" License"
+msgstr "BSD 4-пунктная лицензия \"Оригинальная\" или \"Старая\""
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2733
+#, no-wrap
+msgid "`BSL`"
+msgstr "`BSL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2734
+#, no-wrap
+msgid "Boost Software License"
+msgstr "Лицензия программного обеспечения Boost"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2738
+#, no-wrap
+msgid "`CC-BY-1.0`"
+msgstr "`CC-BY-1.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2739
+#, no-wrap
+msgid "Creative Commons Attribution 1.0"
+msgstr "Creative Commons с указанием авторства 1.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2743
+#, no-wrap
+msgid "`CC-BY-2.0`"
+msgstr "`CC-BY-2.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2744
+#, no-wrap
+msgid "Creative Commons Attribution 2.0"
+msgstr "Creative Commons с указанием авторства 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2748
+#, no-wrap
+msgid "`CC-BY-2.5`"
+msgstr "`CC-BY-2.5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2749
+#, no-wrap
+msgid "Creative Commons Attribution 2.5"
+msgstr "Creative Commons с указанием авторства 2.5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2753
+#, no-wrap
+msgid "`CC-BY-3.0`"
+msgstr "`CC-BY-3.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2754
+#, no-wrap
+msgid "Creative Commons Attribution 3.0"
+msgstr "Creative Commons с указанием авторства 3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2758
+#, no-wrap
+msgid "`CC-BY-4.0`"
+msgstr "`CC-BY-4.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2759
+#, no-wrap
+msgid "Creative Commons Attribution 4.0"
+msgstr "Creative Commons с указанием авторства 4.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2763
+#, no-wrap
+msgid "`CC-BY-NC-1.0`"
+msgstr "`CC-BY-NC-1.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2764
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial 1.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая 1.0"
+
+#. type: Table
+#: 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 "`dist-mirror``pkg-mirror``auto-accept`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2768
+#, no-wrap
+msgid "`CC-BY-NC-2.0`"
+msgstr "`CC-BY-NC-2.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2769
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial 2.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2773
+#, no-wrap
+msgid "`CC-BY-NC-2.5`"
+msgstr "`CC-BY-NC-2.5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2774
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial 2.5"
+msgstr "Creative Commons с указанием авторства – некоммерческая 2.5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2778
+#, no-wrap
+msgid "`CC-BY-NC-3.0`"
+msgstr "`CC-BY-NC-3.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2779
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial 3.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая 3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2783
+#, no-wrap
+msgid "`CC-BY-NC-4.0`"
+msgstr "`CC-BY-NC-4.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2784
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial 4.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая 4.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2788
+#, no-wrap
+msgid "`CC-BY-NC-ND-1.0`"
+msgstr "`CC-BY-NC-ND-1.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2789
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial No Derivatives 1.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая – без производных 1.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2793
+#, no-wrap
+msgid "`CC-BY-NC-ND-2.0`"
+msgstr "`CC-BY-NC-ND-2.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2794
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial No Derivatives 2.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая – без производных 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2798
+#, no-wrap
+msgid "`CC-BY-NC-ND-2.5`"
+msgstr "`CC-BY-NC-ND-2.5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2799
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial No Derivatives 2.5"
+msgstr "Creative Commons с указанием авторства – некоммерческая – без производных 2.5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2803
+#, no-wrap
+msgid "`CC-BY-NC-ND-3.0`"
+msgstr "`CC-BY-NC-ND-3.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2804
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial No Derivatives 3.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая – без производных 3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2808
+#, no-wrap
+msgid "`CC-BY-NC-ND-4.0`"
+msgstr "`CC-BY-NC-ND-4.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2809
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial No Derivatives 4.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая – без производных 4.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2813
+#, no-wrap
+msgid "`CC-BY-NC-SA-1.0`"
+msgstr "`CC-BY-NC-SA-1.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2814
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial Share Alike 1.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая – на тех же условиях 1.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2818
+#, no-wrap
+msgid "`CC-BY-NC-SA-2.0`"
+msgstr "`CC-BY-NC-SA-2.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2819
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial Share Alike 2.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая – на тех же условиях 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2823
+#, no-wrap
+msgid "`CC-BY-NC-SA-2.5`"
+msgstr "`CC-BY-NC-SA-2.5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2824
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial Share Alike 2.5"
+msgstr "Creative Commons с указанием авторства – некоммерческая – на тех же условиях 2.5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2828
+#, no-wrap
+msgid "`CC-BY-NC-SA-3.0`"
+msgstr "`CC-BY-NC-SA-3.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2829
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial Share Alike 3.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая – на тех же условиях 3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2833
+#, no-wrap
+msgid "`CC-BY-NC-SA-4.0`"
+msgstr "`CC-BY-NC-SA-4.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2834
+#, no-wrap
+msgid "Creative Commons Attribution Non Commercial Share Alike 4.0"
+msgstr "Creative Commons с указанием авторства – некоммерческая – на тех же условиях 4.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2838
+#, no-wrap
+msgid "`CC-BY-ND-1.0`"
+msgstr "`CC-BY-ND-1.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2839
+#, no-wrap
+msgid "Creative Commons Attribution No Derivatives 1.0"
+msgstr "Creative Commons с указанием авторства – без производных 1.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2843
+#, no-wrap
+msgid "`CC-BY-ND-2.0`"
+msgstr "`CC-BY-ND-2.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2844
+#, no-wrap
+msgid "Creative Commons Attribution No Derivatives 2.0"
+msgstr "Creative Commons с указанием авторства – без производных 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2848
+#, no-wrap
+msgid "`CC-BY-ND-2.5`"
+msgstr "`CC-BY-ND-2.5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2849
+#, no-wrap
+msgid "Creative Commons Attribution No Derivatives 2.5"
+msgstr "Creative Commons с указанием авторства – без производных 2.5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2853
+#, no-wrap
+msgid "`CC-BY-ND-3.0`"
+msgstr "`CC-BY-ND-3.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2854
+#, no-wrap
+msgid "Creative Commons Attribution No Derivatives 3.0"
+msgstr "Creative Commons с указанием авторства – без производных 3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2858
+#, no-wrap
+msgid "`CC-BY-ND-4.0`"
+msgstr "`CC-BY-ND-4.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2859
+#, no-wrap
+msgid "Creative Commons Attribution No Derivatives 4.0"
+msgstr "Creative Commons с указанием авторства – без производных 4.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2863
+#, no-wrap
+msgid "`CC-BY-SA-1.0`"
+msgstr "`CC-BY-SA-1.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2864
+#, no-wrap
+msgid "Creative Commons Attribution Share Alike 1.0"
+msgstr "Creative Commons с указанием авторства – на тех же условиях 1.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2868
+#, no-wrap
+msgid "`CC-BY-SA-2.0`"
+msgstr "`CC-BY-SA-2.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2869
+#, no-wrap
+msgid "Creative Commons Attribution Share Alike 2.0"
+msgstr "Creative Commons с указанием авторства – на тех же условиях 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2873
+#, no-wrap
+msgid "`CC-BY-SA-2.5`"
+msgstr "`CC-BY-SA-2.5`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2874
+#, no-wrap
+msgid "Creative Commons Attribution Share Alike 2.5"
+msgstr "Creative Commons с указанием авторства – на тех же условиях 2.5"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2878
+#, no-wrap
+msgid "`CC-BY-SA-3.0`"
+msgstr "`CC-BY-SA-3.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2879
+#, no-wrap
+msgid "Creative Commons Attribution Share Alike 3.0"
+msgstr "Creative Commons с указанием авторства – на тех же условиях 3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2883
+#, no-wrap
+msgid "`CC-BY-SA-4.0`"
+msgstr "`CC-BY-SA-4.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2884
+#, no-wrap
+msgid "Creative Commons Attribution Share Alike 4.0"
+msgstr "Creative Commons с указанием авторства – на тех же условиях 4.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2888
+#, no-wrap
+msgid "`CC0-1.0`"
+msgstr "`CC0-1.0`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2889
+#, no-wrap
+msgid "Creative Commons Zero v1.0 Universal"
+msgstr "Creative Commons Zero v1.0 Universal (Отказ от прав 1.0 Универсальная)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2890
+#, no-wrap
+msgid "`FSF GPL COPYFREE`"
+msgstr "`FSF GPL COPYFREE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2893
+#, no-wrap
+msgid "`CDDL`"
+msgstr "`CDDL`"
+
+#. type: Table
+#: 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:2898
+#, no-wrap
+msgid "`CPAL-1.0`"
+msgstr "`CPAL-1.0`"
+
+#. type: Table
+#: 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:2903
+#, no-wrap
+msgid "`ClArtistic`"
+msgstr "`ClArtistic`"
+
+#. type: Table
+#: 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:2908
+#, no-wrap
+msgid "`EPL`"
+msgstr "`EPL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2909
+#, no-wrap
+msgid "Eclipse Public License"
+msgstr "Публичная лицензия Eclipse"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2913
+#, no-wrap
+msgid "`GFDL`"
+msgstr "`GFDL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2914
+#, no-wrap
+msgid "GNU Free Documentation License"
+msgstr "GNU Свободная лицензия на документацию"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2918
+#, no-wrap
+msgid "`GMGPL`"
+msgstr "`GMGPL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2919
+#, no-wrap
+msgid "GNAT Modified General Public License"
+msgstr "Модифицированная Общедоступная лицензия GNAT"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2923
+#, no-wrap
+msgid "`GPLv1`"
+msgstr "`GPLv1`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2924
+#, no-wrap
+msgid "GNU General Public License version 1"
+msgstr "Универсальная общественная лицензия GNU версии 1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2928
+#, no-wrap
+msgid "`GPLv1+`"
+msgstr "`GPLv1+`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2929
+#, no-wrap
+msgid "GNU General Public License version 1 (or later)"
+msgstr "Универсальная общественная лицензия GNU версии 1 (или более поздняя)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2933
+#, no-wrap
+msgid "`GPLv2`"
+msgstr "`GPLv2`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2934
+#, no-wrap
+msgid "GNU General Public License version 2"
+msgstr "Универсальная общественная лицензия GNU версии 2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2938
+#, no-wrap
+msgid "`GPLv2+`"
+msgstr "`GPLv2+`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2939
+#, no-wrap
+msgid "GNU General Public License version 2 (or later)"
+msgstr "Универсальная общественная лицензия GNU версии 2 (или более поздняя)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2943
+#, no-wrap
+msgid "`GPLv3`"
+msgstr "`GPLv3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2944
+#, no-wrap
+msgid "GNU General Public License version 3"
+msgstr "Универсальная общественная лицензия GNU версии 3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2948
+#, no-wrap
+msgid "`GPLv3+`"
+msgstr "`GPLv3+`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2949
+#, no-wrap
+msgid "GNU General Public License version 3 (or later)"
+msgstr "Универсальная общественная лицензия GNU версии 3 (или более поздняя)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2953
+#, no-wrap
+msgid "`GPLv3RLE`"
+msgstr "`GPLv3RLE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2954
+#, no-wrap
+msgid "GNU GPL version 3 Runtime Library Exception"
+msgstr "Исключение для библиотеки времени выполнения GNU GPL версии 3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2958
+#, no-wrap
+msgid "`GPLv3RLE+`"
+msgstr "`GPLv3RLE+`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2959
+#, no-wrap
+msgid "GNU GPL version 3 Runtime Library Exception (or later)"
+msgstr "Исключение для библиотеки времени выполнения GNU GPL версии 3 (или более поздняя)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2963
+#, no-wrap
+msgid "`ISCL`"
+msgstr "`ISCL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2964
+#, no-wrap
+msgid "Internet Systems Consortium License"
+msgstr "Лицензия Internet Systems Consortium"
+
+#. type: Table
+#: 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 "`FSF GPL OSI COPYFREE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2968
+#, no-wrap
+msgid "`LGPL20`"
+msgstr "`LGPL20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2969
+#, no-wrap
+msgid "GNU Library General Public License version 2.0"
+msgstr "Общедоступная лицензия GNU для библиотек, версия 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2973
+#, no-wrap
+msgid "`LGPL20+`"
+msgstr "`LGPL20+`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2974
+#, no-wrap
+msgid "GNU Library General Public License version 2.0 (or later)"
+msgstr "Общедоступная лицензия GNU для библиотек, версия 2.0 (или более поздняя)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2978
+#, no-wrap
+msgid "`LGPL21`"
+msgstr "`LGPL21`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2979
+#, no-wrap
+msgid "GNU Lesser General Public License version 2.1"
+msgstr "Универсальная общественная лицензия GNU ограниченного применения, версия 2.1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2983
+#, no-wrap
+msgid "`LGPL21+`"
+msgstr "`LGPL21+`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2984
+#, no-wrap
+msgid "GNU Lesser General Public License version 2.1 (or later)"
+msgstr "Универсальная общественная лицензия GNU ограниченного применения, версия 2.1 (или более поздняя)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2988
+#, no-wrap
+msgid "`LGPL3`"
+msgstr "`LGPL3`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2989
+#, no-wrap
+msgid "GNU Lesser General Public License version 3"
+msgstr "Универсальная общественная лицензия GNU ограниченного применения, версия 3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2993
+#, no-wrap
+msgid "`LGPL3+`"
+msgstr "`LGPL3+`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2994
+#, no-wrap
+msgid "GNU Lesser General Public License version 3 (or later)"
+msgstr "Универсальная общественная лицензия GNU ограниченного применения, версия 3 (или более поздней)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2998
+#, no-wrap
+msgid "`LPPL10`"
+msgstr "`LPPL10`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2999
+#, no-wrap
+msgid "LaTeX Project Public License version 1.0"
+msgstr "Публичная лицензия проекта LaTeX, версия 1.0"
+
+#. type: Table
+#: 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 "`dist-mirror dist-sell`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3003
+#, no-wrap
+msgid "`LPPL11`"
+msgstr "`LPPL11`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3004
+#, no-wrap
+msgid "LaTeX Project Public License version 1.1"
+msgstr "Публичная лицензия проекта LaTeX, версия 1.1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3008
+#, no-wrap
+msgid "`LPPL12`"
+msgstr "`LPPL12`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3009
+#, no-wrap
+msgid "LaTeX Project Public License version 1.2"
+msgstr "Публичная лицензия проекта LaTeX, версия 1.2"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3013
+#, no-wrap
+msgid "`LPPL13`"
+msgstr "`LPPL13`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3014
+#, no-wrap
+msgid "LaTeX Project Public License version 1.3"
+msgstr "Публичная лицензия проекта LaTeX, версия 1.3"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3018
+#, no-wrap
+msgid "`LPPL13a`"
+msgstr "`LPPL13a`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3019
+#, no-wrap
+msgid "LaTeX Project Public License version 1.3a"
+msgstr "Публичная лицензия проекта LaTeX, версия 1.3a"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3023
+#, no-wrap
+msgid "`LPPL13b`"
+msgstr "`LPPL13b`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3024
+#, no-wrap
+msgid "LaTeX Project Public License version 1.3b"
+msgstr "Публичная лицензия проекта LaTeX, версия 1.3b"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3028
+#, no-wrap
+msgid "`LPPL13c`"
+msgstr "`LPPL13c`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3029
+#, no-wrap
+msgid "LaTeX Project Public License version 1.3c"
+msgstr "Публичная лицензия проекта LaTeX, версия 1.3c"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3033
+#, no-wrap
+msgid "`MIT`"
+msgstr "`MIT`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3034
+#, no-wrap
+msgid "MIT license / X11 license"
+msgstr "Лицензия MIT / Лицензия X11"
+
+#. type: Table
+#: 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 "`COPYFREE FSF GPL OSI`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3038
+#, no-wrap
+msgid "`MPL10`"
+msgstr "`MPL10`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3039
+#, no-wrap
+msgid "Mozilla Public License version 1.0"
+msgstr "Публичная лицензия Mozilla, версия 1.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3043
+#, no-wrap
+msgid "`MPL11`"
+msgstr "`MPL11`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3044
+#, no-wrap
+msgid "Mozilla Public License version 1.1"
+msgstr "Публичная лицензия Mozilla, версия 1.1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3048
+#, no-wrap
+msgid "`MPL20`"
+msgstr "`MPL20`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3049
+#, no-wrap
+msgid "Mozilla Public License version 2.0"
+msgstr "Публичная лицензия Mozilla, версия 2.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3053
+#, no-wrap
+msgid "`NCSA`"
+msgstr "`NCSA`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3054
+#, no-wrap
+msgid "University of Illinois/NCSA Open Source License"
+msgstr "Открытая лицензия Университета Иллинойса/NCSA"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3058
+#, no-wrap
+msgid "`NONE`"
+msgstr "`NONE`"
+
+#. type: Table
+#: 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:3062
+#, no-wrap
+msgid "`none`"
+msgstr "`none`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3063
+#, no-wrap
+msgid "`OFL10`"
+msgstr "`OFL10`"
+
+#. type: Table
+#: 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 "Лицензия SIL Open Font версия 1.0 (https://scripts.sil.org/OFL/)"
+
+#. type: Labeled list
+#: 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 "`FONTS`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3068
+#, no-wrap
+msgid "`OFL11`"
+msgstr "`OFL11`"
+
+#. type: Table
+#: 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 "Лицензия SIL Open Font версия 1.1 (https://scripts.sil.org/OFL/)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3073
+#, no-wrap
+msgid "`OWL`"
+msgstr "`OWL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3074
+#, no-wrap
+msgid "Open Works License (owl.apotheon.org)"
+msgstr "Лицензия Открытых Произведений (owl.apotheon.org)"
+
+#. type: Labeled list
+#: 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 "`COPYFREE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3078
+#, no-wrap
+msgid "`OpenSSL`"
+msgstr "`OpenSSL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3079
+#, no-wrap
+msgid "OpenSSL License"
+msgstr "Лицензия OpenSSL"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3083
+#, no-wrap
+msgid "`PD`"
+msgstr "`PD`"
+
+#. type: Table
+#: 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:3085
+#, no-wrap
+msgid "`GPL COPYFREE`"
+msgstr "`GPL COPYFREE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3088
+#, no-wrap
+msgid "`PHP202`"
+msgstr "`PHP202`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3089
+#, no-wrap
+msgid "PHP License version 2.02"
+msgstr "Лицензия PHP версии 2.02"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3093
+#, no-wrap
+msgid "`PHP30`"
+msgstr "`PHP30`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3094
+#, no-wrap
+msgid "PHP License version 3.0"
+msgstr "Лицензия PHP версии 3.0"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3098
+#, no-wrap
+msgid "`PHP301`"
+msgstr "`PHP301`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3099
+#, no-wrap
+msgid "PHP License version 3.01"
+msgstr "Лицензия PHP версии 3.01"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3103
+#, no-wrap
+msgid "`PSFL`"
+msgstr "`PSFL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3104
+#, no-wrap
+msgid "Python Software Foundation License"
+msgstr "Лицензия Python Software Foundation"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3108
+#, no-wrap
+msgid "`PostgreSQL`"
+msgstr "`PostgreSQL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3109
+#, no-wrap
+msgid "PostgreSQL License"
+msgstr "Лицензия PostgreSQL"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3113
+#, no-wrap
+msgid "`RUBY`"
+msgstr "`RUBY`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3114
+#, no-wrap
+msgid "Ruby License"
+msgstr "Лицензия Ruby"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3118
+#, no-wrap
+msgid "`UNLICENSE`"
+msgstr "`UNLICENSE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3119
+#, no-wrap
+msgid "The Unlicense"
+msgstr "Отказ от лицензии (The Unlicense)"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3120
+#, no-wrap
+msgid "`COPYFREE FSF GPL`"
+msgstr "`COPYFREE FSF GPL`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3123
+#, no-wrap
+msgid "`WTFPL`"
+msgstr "`WTFPL`"
+
+#. type: Table
+#: 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 "Публичная лицензия \"Делай что хочешь\" версия 2"
+
+#. type: Table
+#: 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 "`GPL FSF COPYFREE`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3128
+#, no-wrap
+msgid "`WTFPL1`"
+msgstr "`WTFPL1`"
+
+#. type: Table
+#: 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 "Публичная лицензия \"Делай что хочешь\" версия 1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3133
+#, no-wrap
+msgid "`ZLIB`"
+msgstr "`ZLIB`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3134
+#, no-wrap
+msgid "zlib License"
+msgstr "Лицензия zlib"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3135
+#, no-wrap
+msgid "`GPL FSF OSI`"
+msgstr "`GPL FSF OSI`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3138
+#, no-wrap
+msgid "`ZPL21`"
+msgstr "`ZPL21`"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3139
+#, no-wrap
+msgid "Zope Public License version 2.1"
+msgstr "Публичная лицензия Zope версия 2.1"
+
+#. type: Table
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3140
+#, no-wrap
+msgid "`GPL OSI`"
+msgstr "`GPL OSI`"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3144
+#, no-wrap
+msgid "`LICENSE_PERMS` and `LICENSE_PERMS_NAME_`"
+msgstr "`LICENSE_PERMS` и `LICENSE_PERMS_NAME_`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3147
+msgid "Permissions. use `none` if empty."
+msgstr "Разрешения. Используйте `none`, если пусто."
+
+#. type: Block title
+#: 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:3150
+#, no-wrap
+msgid "`dist-mirror`"
+msgstr "`dist-mirror`"
+
+#. type: Plain text
+#: 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 ""
+"Разрешается распространение дистрибутивных файлов. Дистрибутивные файлы "
+"будут добавлены в CDN `MASTER_SITE_BACKUP` FreeBSD."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3155
+#, no-wrap
+msgid "`no-dist-mirror`"
+msgstr "`no-dist-mirror`"
+
+#. type: Plain text
+#: 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 ""
+"Распространение дистрибутивных файлов запрещено. Это эквивалентно установке "
+"crossref:special[porting-restrictions-restricted,`RESTRICTED`]. "
+"Дистрибутивные файлы _не_ будут добавлены в CDN `MASTER_SITE_BACKUP` FreeBSD."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3161
+#, no-wrap
+msgid "`dist-sell`"
+msgstr "`dist-sell`"
+
+#. type: Plain text
+#: 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:3166
+#, no-wrap
+msgid "`no-dist-sell`"
+msgstr "`no-dist-sell`"
+
+#. type: Plain text
+#: 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 ""
+"Продажа файлов дистрибутива запрещена. Это эквивалентно установке "
+"crossref:special[porting-restrictions-no_cdrom,`NO_CDROM`]."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3171
+#, no-wrap
+msgid "`pkg-mirror`"
+msgstr "`pkg-mirror`"
+
+#. type: Plain text
+#: 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 ""
+"Свободное распространение пакета разрешено. Пакет будет распространяться "
+"через CDN пакетов FreeBSD https://pkg.freebsd.org/[https://pkg.freebsd.org/]."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3176
+#, no-wrap
+msgid "`no-pkg-mirror`"
+msgstr "`no-pkg-mirror`"
+
+#. type: Plain text
+#: 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 ""
+"Свободное распространение пакета запрещено. Эквивалентно установке "
+"crossref:special[porting-restrictions-no_package,`NO_PACKAGE`]. Пакет _не_ "
+"будет распространяться через FreeBSD CDN для пакетов https://pkg.freebsd.org/"
+"[https://pkg.freebsd.org/]."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3182
+#, no-wrap
+msgid "`pkg-sell`"
+msgstr "`pkg-sell`"
+
+#. type: Plain text
+#: 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:3187
+#, no-wrap
+msgid "`no-pkg-sell`"
+msgstr "`no-pkg-sell`"
+
+#. type: Plain text
+#: 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 ""
+"Продажа пакета запрещена. Это эквивалентно установке "
+"crossref:special[porting-restrictions-no_cdrom,`NO_CDROM`]. Пакет _не_ будет "
+"присутствовать на образах установщика."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3193
+#, no-wrap
+msgid "`auto-accept`"
+msgstr "`auto-accept`"
+
+#. type: Plain text
+#: 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 ""
+"Лицензия принимается по умолчанию. Запросы на принятие лицензии не "
+"отображаются, если пользователь не определил `LICENSES_ASK`. Используйте "
+"это, если в лицензии не указано, что пользователь должен принять условия "
+"лицензии."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3199
+#, no-wrap
+msgid "`no-auto-accept`"
+msgstr "`no-auto-accept`"
+
+#. type: Plain text
+#: 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:3205
+msgid ""
+"When both `_permission_` and `no-_permission_` is present the `no-"
+"_permission_` will cancel `_permission_`."
+msgstr ""
+"Когда присутствуют и `_permission_`, и `no-_permission_`, то `no-"
+"_permission_` отменяет `_permission_`."
+
+#. type: Plain text
+#: 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 "Когда `_permission_` отсутствует, это считается как `no-_permission_`."
+
+#. type: delimited block = 4
+#: 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: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 ""
+"Порт без разрешения `auto-accept` никогда не будет собран, и все зависящие "
+"от него порты будут проигнорированы."
+
+#. type: delimited block = 4
+#: 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 ""
+"Порт без разрешения `pkg-mirror`, а также любые порты, зависящие от него, "
+"будут удалены после сборки, что гарантирует их отсутствие в дистрибуции."
+
+#. type: Block title
+#: 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: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: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 ""
+"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"
+
+#. type: Block title
+#: 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: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 ""
+"Прочитайте условия лицензии и укажите их, используя доступные разрешения. В "
+"случае сомнений обратитесь за разъяснениями на {freebsd-ports}."
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Plain text
+#: 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 ""
+"Когда разрешения лицензий GPLv2 и UNKNOWN смешиваются, порт получает `dist-"
+"mirror dist-sell pkg-mirror pkg-sell auto-accept dist-mirror no-dist-sell "
+"pkg-mirror no-pkg-sell auto-accept`. Опции `no-_разрешения_` отменяют "
+"соответствующие _разрешения_. Итоговый список разрешений: _dist-mirror pkg-"
+"mirror auto-accept_. Файлы дистрибутива и пакеты не будут доступны в образах "
+"установщика."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3258
+#, no-wrap
+msgid "`LICENSE_GROUPS` and `LICENSE_GROUPS_NAME`"
+msgstr "`LICENSE_GROUPS` и `LICENSE_GROUPS_NAME`"
+
+#. type: delimited block = 4
+#: 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:3262
+#, no-wrap
+msgid "Predefined License Groups List"
+msgstr "Список предопределенных групп лицензий"
+
+#. type: delimited block = 4
+#: 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 ""
+"Одобрено Free Software Foundation, см. https://www.fsf.org/licensing/"
+"[Команда по лицензированию и соответствию FSF]."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3268
+#, no-wrap
+msgid "`GPL`"
+msgstr "`GPL`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3270
+msgid "GPL Compatible"
+msgstr "Совместимые с GPL"
+
+#. type: delimited block = 4
+#: 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 ""
+"Одобрено OSI, см. страницу https://opensource.org/licenses/[Открытых "
+"лицензий]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Соответствует определению стандарта Copyfree, см. страницу https://"
+"copyfree.org/standard/licenses/[лицензий Copyfree]."
+
+#. type: delimited block = 4
+#: 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:3284
+#, no-wrap
+msgid "`LICENSE_NAME` and `LICENSE_NAME_NAME`"
+msgstr "`LICENSE_NAME` и `LICENSE_NAME_NAME`"
+
+#. type: delimited block = 4
+#: 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:3289
+#, no-wrap
+msgid "`LICENSE_NAME`"
+msgstr "`LICENSE_NAME`"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3304
+#, no-wrap
+msgid "`LICENSE_FILE` and `LICENSE_FILE_NAME`"
+msgstr "`LICENSE_FILE` и `LICENSE_FILE_NAME`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Полный путь к файлу, содержащему текст лицензии, обычно [.filename]#$"
+"{WRKSRC}/some/file#. Если файл отсутствует в дистрибутиве, а его содержимое "
+"слишком длинное для размещения в crossref:makefiles[licenses-"
+"license_text,`LICENSE_TEXT`], поместите его в новый файл в [.filename]#$"
+"{FILESDIR}#."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3311
+#, no-wrap
+msgid "`LICENSE_FILE`"
+msgstr "`LICENSE_FILE`"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3319
+#, no-wrap
+msgid ""
+"LICENSE=\tGPLv3+\n"
+"LICENSE_FILE=\t${WRKSRC}/COPYING\n"
+msgstr ""
+"LICENSE=\tGPLv3+\n"
+"LICENSE_FILE=\t${WRKSRC}/COPYING\n"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3324
+#, no-wrap
+msgid "`LICENSE_TEXT` and `LICENSE_TEXT_NAME`"
+msgstr "`LICENSE_TEXT` и `LICENSE_TEXT_NAME`"
+
+#. type: delimited block = 4
+#: 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:3330
+#, no-wrap
+msgid "`LICENSE_TEXT`"
+msgstr "`LICENSE_TEXT`"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3346
+#, no-wrap
+msgid "`LICENSE_DISTFILES` and `LICENSE_DISTFILES_NAME`"
+msgstr "`LICENSE_DISTFILES` и `LICENSE_DISTFILES_NAME`"
+
+#. type: delimited block = 4
+#: 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:3352
+#, no-wrap
+msgid "`LICENSE_DISTFILES`"
+msgstr "`LICENSE_DISTFILES`"
+
+#. type: Plain text
+#: 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:3362
+#, no-wrap
+msgid ""
+"MASTER_SITES= SF/some-game\n"
+"DISTFILES= ${DISTNAME}${EXTRACT_SUFX} artwork.zip\n"
+msgstr ""
+"MASTER_SITES= SF/some-game\n"
+"DISTFILES= ${DISTNAME}${EXTRACT_SUFX} artwork.zip\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3375
+#, no-wrap
+msgid "`LICENSE_COMB`"
+msgstr "`LICENSE_COMB`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Установите значение `multi`, если применяются все лицензии. Установите "
+"значение `dual`, если применяется любая из лицензий. По умолчанию "
+"используется значение `single`."
+
+#. type: Block title
+#: 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: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 ""
+"Когда порт содержит указание «Это программное обеспечение может "
+"распространяться под GNU General Public License или Artistic License», это "
+"означает, что можно использовать любую из этих лицензий. Используйте "
+"следующее:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3394
+#, no-wrap
+msgid ""
+"LICENSE=\tART10 GPLv1\n"
+"LICENSE_COMB= dual\n"
+msgstr ""
+"LICENSE=\tART10 GPLv1\n"
+"LICENSE_COMB= dual\n"
+
+#. type: Plain text
+#: 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: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 ""
+"LICENSE=\tART10 GPLv1\n"
+"LICENSE_COMB= dual\n"
+"LICENSE_FILE_ART10= ${WRKSRC}/Artistic\n"
+"LICENSE_FILE_GPLv1= ${WRKSRC}/Copying\n"
+
+#. type: Block title
+#: 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:3414
+msgid ""
+"When part of a port has one license, and another part has a different "
+"license, use `multi`:"
+msgstr ""
+"Если часть порта имеет одну лицензию, а другая часть — другую, используйте "
+"`multi`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3419
+#, no-wrap
+msgid ""
+"LICENSE=\tGPLv2 LGPL21+\n"
+"LICENSE_COMB=\tmulti\n"
+msgstr ""
+"LICENSE=\tGPLv2 LGPL21+\n"
+"LICENSE_COMB=\tmulti\n"
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3424
+#, no-wrap
+msgid "`PORTSCOUT`"
+msgstr "`PORTSCOUT`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Portscout — это автоматизированная утилита проверки distfile для Коллекции "
+"портов FreeBSD, подробно описанная в crossref:keeping-up[distfile-"
+"survey,Portscout: сканирование distfile портов FreeBSD]."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3429
+msgid ""
+"`PORTSCOUT` defines special conditions within which the Portscout distfile "
+"scanner is restricted."
+msgstr ""
+"`PORTSCOUT` определяет специальные условия, в рамках которых работа сканера "
+"дистрибутивных файлов Portscout ограничена."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3431
+msgid "Situations where `PORTSCOUT` is set include:"
+msgstr "Ситуации, когда установлена переменная `PORTSCOUT`, включают:"
+
+#. type: delimited block = 4
+#: 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 ""
+"Когда необходимо игнорировать distfiles для определённых версий. Например, "
+"чтобы исключить версию _8.2_ и версию _8.3_ из проверок версий distfiles, "
+"так как известно, что они неработоспособны, добавьте:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3437
+#, no-wrap
+msgid "PORTSCOUT=\tskipv:8.2,8.3\n"
+msgstr "PORTSCOUT=\tskipv:8.2,8.3\n"
+
+#. type: Plain text
+#: 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 ""
+"Когда проверки версий distfile необходимо полностью отключить. Например, "
+"если порт больше не будет обновляться, добавьте:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3444
+#, no-wrap
+msgid "PORTSCOUT=\tignore:1\n"
+msgstr "PORTSCOUT=\tignore:1\n"
+
+#. type: Plain text
+#: 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 ""
+"Когда необходимо проверять конкретные версии или определенные мажорные и "
+"минорные редакции distfile. Например, если нужно отслеживать только версию "
+"_0.6.4_, потому что более новые версии имеют проблемы совместимости с "
+"FreeBSD, добавьте:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3451
+#, no-wrap
+msgid "PORTSCOUT=\tlimit:^0\\.6\\.4\n"
+msgstr "PORTSCOUT=\tlimit:^0\\.6\\.4\n"
+
+#. type: Plain text
+#: 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 ""
+"Когда URL-адреса, перечисляющие доступные версии, отличаются от URL-адресов "
+"загрузки. Например, чтобы ограничить проверку версий distfile страницей "
+"загрузки для пакета: package:databases/pgtune[] добавьте:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3458
+#, no-wrap
+msgid "PORTSCOUT=\tsite:http://www.renpy.org/dl/release/\n"
+msgstr "PORTSCOUT=\tsite:http://www.renpy.org/dl/release/\n"
+
+#. type: Title ==
+#: 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: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 ""
+"Многие порты зависят от других портов. Это очень удобная особенность "
+"большинства Unix-подобных операционных систем, включая FreeBSD. Несколько "
+"портов могут использовать общую зависимость вместо того, чтобы включать эту "
+"зависимость в каждый порт или пакет, который в ней нуждается. Существует "
+"семь переменных, которые можно использовать для обеспечения наличия всех "
+"необходимых компонентов на машине пользователя. Также есть предопределенные "
+"переменные зависимостей для распространенных случаев и несколько "
+"дополнительных для управления поведением зависимостей."
+
+#. type: delimited block = 4
+#: 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 ""
+"Когда у программного обеспечения есть дополнительные зависимости, "
+"предоставляющие дополнительные возможности, основные зависимости, "
+"перечисленные в `*_DEPENDS`, должны включать те дополнительные зависимости, "
+"которые будут полезны большинству пользователей. Основные зависимости "
+"никогда не должны быть \"минимальным\" набором зависимостей. Цель состоит не "
+"в том, чтобы включить все возможные зависимости. Включайте только те, "
+"которые будут полезны большинству людей."
+
+#. type: delimited block = 4
+#: 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 "`LIB_DEPENDS`"
+
+#. type: Plain text
+#: 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 ""
+"Эта переменная определяет разделяемые библиотеки, от которых зависит данный "
+"порт. Это список кортежей вида `_lib:dir_`, где `_lib_` — имя разделяемой "
+"библиотеки, а `_dir_` — директория, в которой её следует искать, если она "
+"недоступна. Например,"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3486
+#, no-wrap
+msgid "LIB_DEPENDS= libjpeg.so:graphics/jpeg\n"
+msgstr "LIB_DEPENDS= libjpeg.so:graphics/jpeg\n"
+
+#. type: Plain text
+#: 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 ""
+"проверит наличие общей библиотеки jpeg с любой версией и перейдет в "
+"подкаталог [.filename]#graphics/jpeg# дерева портов, чтобы собрать и "
+"установить её, если она не найдена."
+
+#. type: Plain text
+#: 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 ""
+"Зависимость проверяется дважды: один раз внутри цели `build` и затем внутри "
+"цели `install`. Также имя зависимости добавляется в пакет, чтобы `pkg "
+"install` (см. man:pkg-install[8]) автоматически установил её, если её нет в "
+"системе пользователя."
+
+#. type: delimited block = 4
+#: 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 "`RUN_DEPENDS`"
+
+#. type: Plain text
+#: 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 ""
+"Эта переменная определяет исполняемые файлы или файлы, от которых зависит "
+"порт во время выполнения. Это список кортежей ``_path:dir_``[:``_target_``], "
+"где `_path_` — это имя исполняемого файла или файла, _dir_ — директория, в "
+"которой его следует искать, если он недоступен, а _target_ — цель, которую "
+"нужно вызвать в этой директории. Если _path_ начинается с косой черты (`/`), "
+"он считается файлом, и его существование проверяется с помощью `test -e`; в "
+"противном случае предполагается, что это исполняемый файл, и `which -s` "
+"используется для проверки наличия программы в пути поиска."
+
+#. type: Plain text
+#: 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:3506
+#, no-wrap
+msgid ""
+"RUN_DEPENDS=\t${LOCALBASE}/news/bin/innd:news/inn \\\n"
+"\t\txmlcatmgr:textproc/xmlcatmgr\n"
+msgstr ""
+"RUN_DEPENDS=\t${LOCALBASE}/news/bin/innd:news/inn \\\n"
+"\t\txmlcatmgr:textproc/xmlcatmgr\n"
+
+#. type: Plain text
+#: 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 ""
+"проверит, существует ли файл или каталог [.filename]#/usr/local/news/bin/"
+"innd#, и соберет и установит его из подкаталога [.filename]#news/inn# дерева "
+"портов, если он не найден. Также будет проверено, находится ли исполняемый "
+"файл `xmlcatmgr` в пути поиска, и если он не найден, будет выполнен переход "
+"в [.filename]#textproc/xmlcatmgr# для сборки и установки."
+
+#. type: delimited block = 4
+#: 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 ""
+"В этом случае `innd` является исполняемым файлом; если исполняемый файл "
+"находится в месте, которое не ожидается в пути поиска, используйте полный "
+"путь."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3520
+msgid "The official search `PATH` used on the ports build cluster is"
+msgstr "Официальный путь поиска `PATH`, используемый в кластере сборки портов"
+
+#. type: delimited block . 4
+#: 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 "/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"Зависимость проверяется внутри цели `install`. Также имя зависимости "
+"добавляется в пакет, чтобы команда `pkg install` (см. man:pkg-install[8]) "
+"автоматически установила её, если она отсутствует в системе пользователя. "
+"Часть _target_ может быть опущена, если она совпадает с `DEPENDS_TARGET`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Довольно распространённая ситуация, когда `RUN_DEPENDS` буквально совпадает "
+"с `BUILD_DEPENDS`, особенно если портируемое программное обеспечение "
+"написано на скриптовом языке или требует одинаковой среды для сборки и "
+"выполнения. В этом случае возникает соблазн и интуитивное желание напрямую "
+"присвоить одно другому:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3538
+#, no-wrap
+msgid "RUN_DEPENDS=\t${BUILD_DEPENDS}\n"
+msgstr "RUN_DEPENDS=\t${BUILD_DEPENDS}\n"
+
+#. type: Plain text
+#: 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 ""
+"Однако такое присваивание может загрязнить зависимости во время выполнения "
+"записями, не определёнными в оригинальном `BUILD_DEPENDS` порта. Это "
+"происходит из-за ленивого вычисления присваивания переменных в man:make[1]. "
+"Рассмотрим [.filename]#Makefile# с `USE_*`, которые обрабатываются "
+"[.filename]#ports/Mk/bsd.*.mk# для добавления начальных зависимостей сборки. "
+"Например, `USES= gmake` добавляет package:devel/gmake[] в `BUILD_DEPENDS`. "
+"Чтобы предотвратить попадание таких дополнительных зависимостей в "
+"`RUN_DEPENDS`, создайте другую переменную с текущим содержимым "
+"`BUILD_DEPENDS` и присвойте её как `BUILD_DEPENDS`, так и `RUN_DEPENDS`:"
+
+#. type: delimited block . 4
+#: 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 ""
+"MY_DEPENDS=\tsome:devel/some \\\n"
+"\t\tother:lang/other\n"
+"BUILD_DEPENDS=\t${MY_DEPENDS}\n"
+"RUN_DEPENDS=\t${MY_DEPENDS}\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"_Не используйте_ `:=` для присваивания `BUILD_DEPENDS` в `RUN_DEPENDS` или "
+"наоборот. Все переменные раскрываются немедленно, что является совершенно "
+"неправильным и почти всегда приводит к ошибке."
+
+#. type: delimited block = 4
+#: 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 "`BUILD_DEPENDS`"
+
+#. type: Plain text
+#: 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 ""
+"Эта переменная указывает исполняемые файлы или файлы, необходимые для сборки "
+"данного порта. Как и `RUN_DEPENDS`, это список кортежей "
+"``_path:dir_``[:``_target_``]. Например,"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3570
+#, no-wrap
+msgid "BUILD_DEPENDS=\tunzip:archivers/unzip\n"
+msgstr "BUILD_DEPENDS=\tunzip:archivers/unzip\n"
+
+#. type: Plain text
+#: 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 ""
+"проверит наличие исполняемого файла с именем `unzip` и перейдет в подкаталог "
+"[.filename]#archivers/unzip# дерева портов, чтобы собрать и установить его, "
+"если он не будет найден."
+
+#. type: delimited block = 4
+#: 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 ""
+"\"build\" здесь означает все процессы от извлечения до компиляции. "
+"Зависимость проверяется внутри цели `extract`. Часть _target_ может быть "
+"опущена, если она совпадает с `DEPENDS_TARGET`"
+
+#. type: delimited block = 4
+#: 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 "`FETCH_DEPENDS`"
+
+#. type: Plain text
+#: 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 ""
+"Эта переменная определяет исполняемые файлы или файлы, необходимые для "
+"загрузки этого порта. Как и предыдущие две, это список кортежей "
+"``_path:dir_``[:``_target_``]. Например,"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3591
+#, no-wrap
+msgid "FETCH_DEPENDS=\tncftp2:net/ncftp2\n"
+msgstr "FETCH_DEPENDS=\tncftp2:net/ncftp2\n"
+
+#. type: Plain text
+#: 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 ""
+"проверит наличие исполняемого файла с именем `ncftp2` и перейдет в "
+"подкаталог [.filename]#net/ncftp2# дерева портов для сборки и установки, "
+"если файл не будет найден."
+
+#. type: Plain text
+#: 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 ""
+"Зависимость проверяется внутри цели `fetch`. Часть _target_ может быть "
+"опущена, если она совпадает с `DEPENDS_TARGET`."
+
+#. type: delimited block = 4
+#: 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 "`EXTRACT_DEPENDS`"
+
+#. type: Plain text
+#: 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 ""
+"Эта переменная указывает исполняемые файлы или файлы, которые требуются для "
+"извлечения данного порта. Как и предыдущая, это список кортежей "
+"``_path:dir_``[:``_target_``]. Например,"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3608
+#, no-wrap
+msgid "EXTRACT_DEPENDS=\tunzip:archivers/unzip\n"
+msgstr "EXTRACT_DEPENDS=\tunzip:archivers/unzip\n"
+
+#. type: Plain text
+#: 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 ""
+"Зависимость проверяется внутри цели `extract`. Часть _target_ может быть "
+"опущена, если она совпадает с `DEPENDS_TARGET`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Используйте эту переменную только если извлечение уже не работает (по "
+"умолчанию предполагается `tar`) и не может быть исправлено с помощью "
+"`USES=tar`, `USES=lha` или `USES=zip`, как описано в "
+"crossref:uses[uses,Использование макросов `USES`]."
+
+#. type: delimited block = 4
+#: 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 "`PATCH_DEPENDS`"
+
+#. type: Plain text
+#: 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 ""
+"Эта переменная указывает исполняемые файлы или файлы, которые требуются "
+"этому порту для применения патчей. Как и предыдущая, это список кортежей "
+"``_path:dir_``[:``_target_``]. Например,"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3629
+#, no-wrap
+msgid "PATCH_DEPENDS=\t${NONEXISTENT}:java/jfc:extract\n"
+msgstr "PATCH_DEPENDS=\t${NONEXISTENT}:java/jfc:extract\n"
+
+#. type: Plain text
+#: 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 ""
+"будет спускаться в подкаталог [.filename]#java/jfc# дерева портов для его "
+"извлечения."
+
+#. type: Plain text
+#: 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 ""
+"Зависимость проверяется в рамках цели `patch`. Часть _target_ может быть "
+"опущена, если она совпадает с `DEPENDS_TARGET`."
+
+#. type: Plain text
+#: 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 "`USES`"
+
+#. type: Plain text
+#: 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 ""
+"Параметры могут быть добавлены для определения различных функций и "
+"зависимостей, используемых портом. Они указываются путем добавления этой "
+"строки в [.filename]#Makefile#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3645
+#, no-wrap
+msgid "USES= feature[:arguments]\n"
+msgstr "USES= feature[:arguments]\n"
+
+#. type: Plain text
+#: 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 ""
+"Для полного списка значений обратитесь к crossref:uses[uses,Использование "
+"макросов `USES`]."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3652
+msgid ""
+"`USES` cannot be assigned after inclusion of [.filename]#bsd.port.pre.mk#."
+msgstr "`USES` нельзя назначать после включения [.filename]#bsd.port.pre.mk#."
+
+#. type: Labeled list
+#: 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 "`USE_*`"
+
+#. type: Plain text
+#: 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 ""
+"Существует несколько переменных для определения общих зависимостей, "
+"используемых многими портами. Их использование необязательно, но помогает "
+"сократить многословность [.filename]##Makefile## портов. Каждая из них "
+"оформлена как `USE_*`. Эти переменные могут использоваться только в "
+"[.filename]##Makefile## портов и [.filename]#ports/Mk/bsd.*.mk#. Они не "
+"предназначены для настраиваемых пользователем опций — для этой цели "
+"используйте `PORT_OPTIONS`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Всегда неправильно устанавливать любые `USE_*` в [.filename]#/etc/"
+"make.conf#. Например, установка"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3671
+#, no-wrap
+msgid "USE_GCC=X.Y\n"
+msgstr "USE_GCC=X.Y\n"
+
+#. type: Plain text
+#: 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 ""
+"(где X.Y — номер версии) добавит зависимость от gccXY для каждого порта, "
+"включая сам `lang/gccXY`!"
+
+#. type: Table
+#: 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:3684
+#, no-wrap
+msgid "`USE_GCC`"
+msgstr "`USE_GCC`"
+
+#. type: Table
+#: 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 ""
+"Порт требует GCC (`gcc` или `{g-plus-plus}`) для сборки.\n"
+"Некоторые порты нуждаются в определённой, старой версии GCC, другие требуют современных, актуальных версий.\n"
+"Обычно устанавливается в `yes` (означает всегда использовать стабильную, современную версию GCC из портов, согласно `GCC_DEFAULT` в [.filename]#Mk/bsd.default-versions.mk#).\n"
+"Это также значение по умолчанию.\n"
+"Точная версия также может быть указана, например, значением `10`.\n"
+"GCC из базовой системы используется, если он удовлетворяет запрашиваемой версии, в противном случае подходящий компилятор собирается из портов, а `CC` и `CXX` корректируются соответствующим образом.\n"
+"Аргумент `:build`, следующий за указанием версии, добавляет только зависимость во время сборки порта.\n"
+"\n"
+"Например:\n"
+"[example]\n"
+"====\n"
+"[.programlisting]\n"
+"....\n"
+"USE_GCC=yes\t\t# порт требует текущей версии GCC\n"
+"USE_GCC=11:build\t# порт требует GCC 11 только во время сборки\n"
+"....\n"
+"====\n"
+"\n"
+"[NOTE]\n"
+"====\n"
+"`USE_GCC=any` устарел и не должен использоваться в новых портах\n"
+"===="
+
+#. type: Plain text
+#: 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 ""
+"Переменные, связанные с gmake и [.filename]#configure#, описаны в "
+"crossref:special[building,Механизмы сборки], тогда как autoconf, automake и "
+"libtool описаны в crossref:special[using-autotools,Использование GNU "
+"Autotools]. Переменные, связанные с Perl, описаны в crossref:special[using-"
+"perl,Использование Perl]. Переменные X11 перечислены в "
+"crossref:special[using-x11,Использование X11]. crossref:special[using-"
+"gnome,Использование GNOME] посвящено GNOME, а crossref:special[using-"
+"kde,Использование KDE] — переменным, связанным с KDE. crossref:special[using-"
+"java,Использование Java] документирует переменные Java, тогда как "
+"crossref:special[using-php,Веб-приложения, Apache и PHP] содержит информацию "
+"о модулях Apache, PHP и PEAR. Python обсуждается в crossref:special[using-"
+"python,Использование Python], а Ruby — в crossref:special[using-"
+"ruby,Использование Ruby]. crossref:special[using-sdl,Использование SDL] "
+"предоставляет переменные, используемые для приложений SDL, и, наконец, "
+"crossref:special[using-xfce,Использование Xfce] содержит информацию о Xfce."
+
+#. type: Title ===
+#: 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:3723
+msgid ""
+"A minimal version of a dependency can be specified in any `*_DEPENDS` except "
+"`LIB_DEPENDS` using this syntax:"
+msgstr ""
+"Минимальная версия зависимого пакета может быть указана в любом `*_DEPENDS`, "
+"кроме `LIB_DEPENDS`, используя следующий синтаксис:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3727
+#, no-wrap
+msgid "p5-Spiffy>=0.26:devel/p5-Spiffy\n"
+msgstr "p5-Spiffy>=0.26:devel/p5-Spiffy\n"
+
+#. type: Plain text
+#: 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 ""
+"Первое поле содержит имя зависимого пакета, которое должно соответствовать "
+"записи в базе данных пакетов, знак сравнения и версию пакета. Зависимость "
+"считается удовлетворённой, если на машине установлен p5-Spiffy-0.26 или "
+"новее."
+
+#. type: Title ===
+#: 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: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 ""
+"Как упомянуто выше, цель по умолчанию, вызываемая при необходимости "
+"зависимости, — это `DEPENDS_TARGET`. По умолчанию она установлена в "
+"`install`. Это пользовательская переменная; она никогда не определяется в "
+"[.filename]#Makefile# порта. Если порту требуется особый способ обработки "
+"зависимости, используйте часть `:target` в `*_DEPENDS` вместо "
+"переопределения `DEPENDS_TARGET`."
+
+#. type: Plain text
+#: 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 ""
+"При выполнении `make clean` зависимости портов также автоматически "
+"очищаются. Если это нежелательно, определите переменную `NOCLEANDEPENDS` в "
+"окружении. Это может быть особенно полезно, если среди зависимостей порта "
+"есть что-то, что требует много времени для пересборки, например KDE, GNOME "
+"или Mozilla."
+
+#. type: Plain text
+#: 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 ""
+"Для безусловной зависимости от другого порта используйте переменную `$"
+"{NONEXISTENT}` в качестве первого поля `BUILD_DEPENDS` или `RUN_DEPENDS`. "
+"Используйте это только в случае, когда необходим исходный код другого порта. "
+"Время компиляции можно сократить, указав также цель. Например"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3752
+#, no-wrap
+msgid "BUILD_DEPENDS=\t${NONEXISTENT}:graphics/jpeg:extract\n"
+msgstr "BUILD_DEPENDS=\t${NONEXISTENT}:graphics/jpeg:extract\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3755
+msgid "will always descend to the `jpeg` port and extract it."
+msgstr "всегда будет переходить к порту `jpeg` и извлекать его."
+
+#. type: Title ===
+#: 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: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: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 ""
+"Технология сборки портов не допускает циклических зависимостей. Если такая "
+"зависимость будет добавлена, у кого-то в мире почти сразу окажется сломанной "
+"установка FreeBSD, а за этим последуют многие другие. Подобные проблемы "
+"бывает очень сложно обнаружить. Если есть сомнения, перед внесением "
+"изменений обязательно выполните: `cd /usr/ports; make index`. Этот процесс "
+"может быть довольно медленным на старых машинах, но он способен избавить "
+"множество людей, включая вас, от серьёзных проблем."
+
+#. type: Title ===
+#: 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: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 ""
+"Зависимости должны быть объявлены явно или с использованием "
+"crossref:makefiles[makefile-options,OPTIONS framework]. Использование других "
+"методов, таких как автоматическое обнаружение, усложняет индексацию, что "
+"вызывает проблемы для управления портами и пакетами."
+
+#. type: Block title
+#: 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:3785
+#, no-wrap
+msgid ".include <bsd.port.pre.mk>\n"
+msgstr ".include <bsd.port.pre.mk>\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if exists(${LOCALBASE}/bin/foo)\n"
+"LIB_DEPENDS=\tlibbar.so:foo/bar\n"
+".endif\n"
+
+#. type: delimited block = 4
+#: 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:3800
+#, no-wrap
+msgid "Correct Declaration of an Optional Dependency"
+msgstr "Правильное объявление необязательной зависимости"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tBAR\n"
+"BAR_DESC=\tCalling cellphones via bar\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3810
+#, no-wrap
+msgid "BAR_LIB_DEPENDS=\tlibbar.so:foo/bar\n"
+msgstr "BAR_LIB_DEPENDS=\tlibbar.so:foo/bar\n"
+
+#. type: delimited block = 4
+#: 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:3819
+#, no-wrap
+msgid "Slave Ports and `MASTERDIR`"
+msgstr "Подчиненные порты и `MASTERDIR`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Если порту необходимо собирать немного разные версии пакетов, используя "
+"переменную (например, разрешение или размер бумаги) с разными значениями, "
+"создайте по одному подкаталогу для каждого пакета, чтобы пользователям было "
+"проще понять, что делать, но старайтесь максимально использовать общие файлы "
+"между портами. Обычно, при грамотном использовании переменных, во всех "
+"каталогах, кроме одного, требуется лишь очень короткий "
+"[.filename]#Makefile#. В единственном [.filename]#Makefile# укажите "
+"директорию с остальными файлами с помощью `MASTERDIR`. Также используйте "
+"переменную как часть crossref:makefiles[porting-pkgname,`PKGNAMESUFFIX`], "
+"чтобы пакеты имели разные имена."
+
+#. type: delimited block = 4
+#: 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 ""
+"Это лучше всего продемонстрировать на примере. Это часть файла "
+"[.filename]#print/pkfonts300/Makefile#;"
+
+#. type: delimited block . 4
+#: 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 ""
+"PORTNAME=\tpkfonts${RESOLUTION}\n"
+"PORTVERSION=\t1.0\n"
+"DISTFILES=\tpk${RESOLUTION}.tar.gz\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3837
+#, no-wrap
+msgid "PLIST=\t\t${PKGDIR}/pkg-plist.${RESOLUTION}\n"
+msgstr "PLIST=\t\t${PKGDIR}/pkg-plist.${RESOLUTION}\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".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"
+
+#. type: Plain text
+#: 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 ""
+"Пакет `package:print/pkfonts300[]` также содержит все обычные исправления, "
+"файлы пакетов и т.д. При запуске `make` в этом месте будет взято значение "
+"разрешения по умолчанию (300), и порт будет собран в обычном режиме."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3856
+msgid ""
+"As for other resolutions, this is the _entire_ [.filename]#print/pkfonts360/"
+"Makefile#:"
+msgstr ""
+"Что касается других разрешений, это _полный_ [.filename]#print/pkfonts360/"
+"Makefile#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3861
+#, no-wrap
+msgid ""
+"RESOLUTION=\t360\n"
+"MASTERDIR=\t${.CURDIR}/../pkfonts300\n"
+msgstr ""
+"RESOLUTION=\t360\n"
+"MASTERDIR=\t${.CURDIR}/../pkfonts300\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3863
+#, no-wrap
+msgid ".include\t\"${MASTERDIR}/Makefile\"\n"
+msgstr ".include\t\"${MASTERDIR}/Makefile\"\n"
+
+#. type: Plain text
+#: 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 ""
+"([.filename]#print/pkfonts118/Makefile#, [.filename]#print/pkfonts600/"
+"Makefile# и все остальные аналогичны). Определение `MASTERDIR` указывает "
+"[.filename]#bsd.port.mk#, что стандартный набор подкаталогов, таких как "
+"`FILESDIR` и `SCRIPTDIR`, следует искать в [.filename]#pkfonts300#. Строка "
+"`RESOLUTION=360` переопределит строку `RESOLUTION=300` в "
+"[.filename]#pkfonts300/Makefile#, и порт будет собран с разрешением, "
+"установленным на 360."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3870
+#, no-wrap
+msgid "Man Pages"
+msgstr "Страницы Cправочника"
+
+#. type: Plain text
+#: 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 ""
+"Если порт размещает дерево man в другом месте, отличном от `PREFIX`, "
+"используйте `MANDIRS` для указания этих каталогов. Обратите внимание, что "
+"файлы, соответствующие страницам руководства, должны быть добавлены в "
+"[.filename]#pkg-plist# вместе с остальными файлами. Назначение `MANDIRS` — "
+"обеспечить автоматическое сжатие страниц руководства, поэтому имена файлов "
+"имеют суффикс [.filename]#.gz#."
+
+#. type: Title ==
+#: 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: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 ""
+"Если пакету требуется установить файлы GNU info, перечислите их в `INFO` "
+"(без завершающего `.info`), по одному документу на строку. Предполагается, "
+"что эти файлы будут установлены в [.filename]#PREFIX/INFO_PATH#. Измените "
+"`INFO_PATH`, если пакет использует другое расположение. Однако это не "
+"рекомендуется. Эти записи содержат только путь относительно "
+"[.filename]#PREFIX/INFO_PATH#. Например, пакет package:lang/gcc34[] "
+"устанавливает файлы info в [.filename]#PREFIX/INFO_PATH/gcc34#, и `INFO` "
+"будет выглядеть примерно так:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3888
+#, no-wrap
+msgid "INFO=\tgcc34/cpp gcc34/cppinternals gcc34/g77 ...\n"
+msgstr "INFO=\tgcc34/cpp gcc34/cppinternals gcc34/g77 ...\n"
+
+#. type: Plain text
+#: 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 ""
+"Соответствующий код установки/удаления будет автоматически добавлен во "
+"временный файл [.filename]#pkg-plist# перед регистрацией пакета."
+
+#. type: Title ==
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3893
+#, no-wrap
+msgid "Makefile Options"
+msgstr "Параметры Makefile"
+
+#. type: Plain text
+#: 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:3900
+#, no-wrap
+msgid "`OPTIONS`"
+msgstr "`OPTIONS`"
+
+#. type: Title ====
+#: 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: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 ""
+"`OPTIONS_*` предоставляют пользователю, устанавливающему порт, диалоговое "
+"окно с доступными опциями, после чего сохраняют выбранные опции в "
+"[.filename]#${PORT_DBDIR}/${OPTIONS_NAME}/options#. При следующей сборке "
+"порта эти опции будут использованы повторно. `PORT_DBDIR` по умолчанию имеет "
+"значение [.filename]#/var/db/ports#. `OPTIONS_NAME` соответствует имени "
+"порта (origin) с заменой разделителя на подчёркивания, например, для "
+"package:dns/bind99[] это будет `dns_bind99`."
+
+#. type: Plain text
+#: 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 ""
+"Когда пользователь запускает `make config` (или впервые запускает `make "
+"build`), система проверяет наличие файла [.filename]#${PORT_DBDIR}/$"
+"{OPTIONS_NAME}/options#. Если этот файл не существует, используются значения "
+"`OPTIONS_*`, и отображается диалоговое окно, где можно включить или "
+"отключить опции. Затем файл [.filename]#options# сохраняется, а настроенные "
+"переменные используются при сборке порта."
+
+#. type: Plain text
+#: 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 ""
+"Если новая версия порта добавляет новые `OPTIONS`, пользователю будет "
+"показан диалог с сохранёнными значениями старых `OPTIONS`, заполненными "
+"заранее."
+
+#. type: Plain text
+#: 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 ""
+"`make showconfig` показывает сохранённую конфигурацию. Используйте `make "
+"rmconfig` для удаления сохранённой конфигурации."
+
+#. type: Title ====
+#: 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:3924
+msgid ""
+"`OPTIONS_DEFINE` contains a list of `OPTIONS` to be used. These are "
+"independent of each other and are not grouped:"
+msgstr ""
+"`OPTIONS_DEFINE` содержит список `OPTIONS`, которые будут использоваться. "
+"Они независимы друг от друга и не сгруппированы:"
+
+#. type: delimited block . 4
+#: 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 "OPTIONS_DEFINE=\tOPT1 OPT2\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3931
+msgid ""
+"Once defined, `OPTIONS` are described (optional, but strongly recommended):"
+msgstr ""
+"После определения `OPTIONS` описываются (необязательно, но настоятельно "
+"рекомендуется):"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Plain text
+#: 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 ""
+"[.filename]#ports/Mk/bsd.options.desc.mk# содержит описания для многих "
+"распространённых `OPTIONS`. Хотя они часто полезны, переопределите их, если "
+"описание недостаточно для порта."
+
+#. type: delimited block = 4
+#: 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 ""
+"При описании параметров рассматривайте их с точки зрения пользователя: "
+"«Какую функциональность это изменяет?» и «Зачем мне включать этот параметр?» "
+"Не просто повторяйте название. Например, описание параметра `NLS` как "
+"«включить поддержку NLS» не помогает пользователю, который уже видит "
+"название параметра, но может не знать, что оно означает. Описание вроде "
+"«Поддержка родного языка с помощью утилиты gettext» гораздо полезнее."
+
+#. type: delimited block = 4
+#: 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:3959
+msgid ""
+"`OPTIONS` can be grouped as radio choices, where only one choice from each "
+"group is allowed:"
+msgstr ""
+"`OPTIONS` могут быть сгруппированы как переключаемые варианты, где "
+"допускается только один выбор из каждой группы:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_SINGLE=\t\tSG1\n"
+"OPTIONS_SINGLE_SG1=\tOPT3 OPT4\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"В каждый момент времени _должна_ быть выбрана одна опция из каждой группы "
+"`OPTIONS_SINGLE`, чтобы параметры были действительными. Один вариант из "
+"каждой группы _должен_ быть добавлен в `OPTIONS_DEFAULT`."
+
+#. type: Plain text
+#: 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 ""
+"`OPTIONS` могут быть сгруппированы как переключаемые варианты, где ни один "
+"или только один вариант из каждой группы разрешён:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_RADIO=\t\tRG1\n"
+"OPTIONS_RADIO_RG1=\tOPT7 OPT8\n"
+
+#. type: Plain text
+#: 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 ""
+"`OPTIONS` также могут быть сгруппированы в виде списков \"множественного "
+"выбора\", где _хотя бы одна_ опция должна быть включена:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_MULTI=\t\tMG1\n"
+"OPTIONS_MULTI_MG1=\tOPT5 OPT6\n"
+
+#. type: Plain text
+#: 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 ""
+"`OPTIONS` также могут быть сгруппированы в виде списков \"множественного "
+"выбора\", где ни одна или любые опции могут быть включены:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_GROUP=\t\tGG1\n"
+"OPTIONS_GROUP_GG1=\tOPT9 OPT10\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3997
+msgid ""
+"`OPTIONS` are unset by default, unless they are listed in `OPTIONS_DEFAULT`:"
+msgstr ""
+"`OPTIONS` по умолчанию не установлены, если они не перечислены в "
+"`OPTIONS_DEFAULT`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4001
+#, no-wrap
+msgid "OPTIONS_DEFAULT=\tOPT1 OPT3 OPT6\n"
+msgstr "OPTIONS_DEFAULT=\tOPT1 OPT3 OPT6\n"
+
+#. type: Plain text
+#: 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 ""
+"Определения `OPTIONS` должны быть указаны до включения файла "
+"[.filename]#bsd.port.options.mk#. Значения `PORT_OPTIONS` можно проверять "
+"только после включения [.filename]#bsd.port.options.mk#. Включение "
+"[.filename]#bsd.port.pre.mk# также может использоваться и до сих пор широко "
+"применяется в портах, написанных до введения "
+"[.filename]#bsd.port.options.mk#. Однако следует учитывать, что некоторые "
+"переменные не будут работать как ожидается после включения "
+"[.filename]#bsd.port.pre.mk#, обычно это некоторые флаги `USE_*`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4009
+#, no-wrap
+msgid "Simple Use of `OPTIONS`"
+msgstr "Простое использование `OPTIONS`"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4017
+#, no-wrap
+msgid ""
+"OPTIONS_DEFINE=\tFOO BAR\n"
+"OPTIONS_DEFAULT=FOO\n"
+msgstr ""
+"OPTIONS_DEFINE=\tFOO BAR\n"
+"OPTIONS_DEFAULT=FOO\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"FOO_DESC=\tOption foo support\n"
+"BAR_DESC=\tFeature bar support\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"# Will add --with-foo / --without-foo\n"
+"FOO_CONFIGURE_WITH=\tfoo\n"
+"BAR_RUN_DEPENDS=\tbar:bar/bar\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4026
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4090
+#, no-wrap
+msgid ".include <bsd.port.mk>\n"
+msgstr ".include <bsd.port.mk>\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4031
+#, no-wrap
+msgid "Check for Unset Port `OPTIONS`"
+msgstr "Проверка неустановленных `OPTIONS` порта"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ! ${PORT_OPTIONS:MEXAMPLES}\n"
+"CONFIGURE_ARGS+=--without-examples\n"
+".endif\n"
+
+#. type: Plain text
+#: 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 ""
+"Приведённая выше форма не рекомендуется. Предпочтительный метод — "
+"использование параметра configure для фактического включения и отключения "
+"функции в соответствии с опцией:"
+
+#. type: delimited block . 4
+#: 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 ""
+"# Will add --with-examples / --without-examples\n"
+"EXAMPLES_CONFIGURE_WITH=\texamples\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4054
+#, no-wrap
+msgid "Practical Use of `OPTIONS`"
+msgstr "Пример реального использования `OPTIONS`"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\t\tEXAMPLES\n"
+"OPTIONS_DEFAULT=\tPGSQL LDAP SSL\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_SINGLE=\t\tBACKEND\n"
+"OPTIONS_SINGLE_BACKEND=\tMYSQL PGSQL BDB\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_MULTI=\t\tAUTH\n"
+"OPTIONS_MULTI_AUTH=\tLDAP PAM SSL\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: delimited block . 4
+#: 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 ""
+"# Will add USE_PGSQL=yes\n"
+"PGSQL_USE=\tpgsql=yes\n"
+"# Will add --enable-postgres / --disable-postgres\n"
+"PGSQL_CONFIGURE_ENABLE=\tpostgres\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4083
+#, no-wrap
+msgid "ICU_LIB_DEPENDS=\tlibicuuc.so:devel/icu\n"
+msgstr "ICU_LIB_DEPENDS=\tlibicuuc.so:devel/icu\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4088
+#, no-wrap
+msgid "# Check other OPTIONS\n"
+msgstr "# Check other OPTIONS\n"
+
+#. type: Title ====
+#: 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:4098
+msgid "These options are always on by default."
+msgstr "Эти опции всегда включены по умолчанию."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4100
+msgid "`DOCS` - build and install documentation."
+msgstr "`DOCS` — сборка и установка документации."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4101
+msgid "`NLS` - Native Language Support."
+msgstr "`NLS` — Поддержка родного языка."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4102
+msgid "`EXAMPLES` - build and install examples."
+msgstr "`EXAMPLES` — сборка и установка примеров."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4103
+msgid "`IPV6` - IPv6 protocol support."
+msgstr "`IPV6` — Поддержка протокола IPv6."
+
+#. type: Plain text
+#: 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 ""
+"Нет необходимости добавлять их в `OPTIONS_DEFAULT`. Однако, чтобы они были "
+"активны и отображались в диалоге выбора опций, их необходимо добавить в "
+"`OPTIONS_DEFINE`."
+
+#. type: Title ===
+#: 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: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 ""
+"При использовании скрипта GNU configure следите за тем, какие дополнительные "
+"функции активируются автоматическим определением. Явно отключите ненужные "
+"дополнительные функции, добавив `--without-xxx` или `--disable-xxx` в "
+"`CONFIGURE_ARGS`."
+
+#. type: Block title
+#: 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: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 ""
+".if ${PORT_OPTIONS:MFOO}\n"
+"LIB_DEPENDS+=\t\tlibfoo.so:devel/foo\n"
+"CONFIGURE_ARGS+=\t--enable-foo\n"
+".endif\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"В приведённом выше примере представьте, что библиотека libfoo установлена в "
+"системе. Пользователь не хочет, чтобы это приложение использовало libfoo, "
+"поэтому он отключил соответствующую опцию в диалоге `make config`. Однако "
+"скрипт configure приложения обнаруживает библиотеку в системе и включает её "
+"поддержку в итоговом исполняемом файле. Теперь, когда пользователь решает "
+"удалить libfoo из системы, система портов не протестует (зависимость от "
+"libfoo не была записана), но приложение перестаёт работать."
+
+#. type: Block title
+#: 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: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 ""
+"FOO_LIB_DEPENDS=\t\tlibfoo.so:devel/foo\n"
+"# Will add --enable-foo / --disable-foo\n"
+"FOO_CONFIGURE_ENABLE=\tfoo\n"
+
+#. type: Plain text
+#: 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 ""
+"В некоторых случаях сокращенный синтаксис условных выражений может вызывать "
+"проблемы со сложными конструкциями. Ошибки обычно имеют вид `Malformed "
+"conditional`, тогда можно использовать альтернативный синтаксис."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4158
+#, no-wrap
+msgid ".if !empty(VARIABLE:MVALUE)\n"
+msgstr ".if !empty(VARIABLE:MVALUE)\n"
+
+#. type: Plain text
+#: 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:4165
+#, no-wrap
+msgid ".if ${VARIABLE:MVALUE}\n"
+msgstr ".if ${VARIABLE:MVALUE}\n"
+
+#. type: Title ===
+#: 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: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:4175
+#, no-wrap
+msgid "`PLIST_SUB`, `SUB_LIST`"
+msgstr "`PLIST_SUB`, `SUB_LIST`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Для автоматической генерации `%%_OPT_%%` и `%%NO__OPT__%%` см. "
+"crossref:makefiles[options_sub, `OPTIONS_SUB`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Для более сложных случаев использования см. crossref:makefiles[options-"
+"variables, Замена общих переменных, `OPT_VARIABLE` и `OPT_VARIABLE_OFF`]."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4180
+#, no-wrap
+msgid "`CONFIGURE_ARGS`"
+msgstr "`CONFIGURE_ARGS`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Для информации о `--enable-_x_` и `--disable-_x_` см. "
+"crossref:makefiles[options-configure_enable, `OPT_CONFIGURE_ENABLE`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"О `--with-_x_` и `--without-_x_` см. crossref:makefiles[options-"
+"configure_with, `OPT_CONFIGURE_WITH`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Во всех остальных случаях см. crossref:makefiles[options-configure_on, "
+"`OPT_CONFIGURE_ON` и `OPT_CONFIGURE_OFF`]."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4187
+#, no-wrap
+msgid "`CMAKE_ARGS`"
+msgstr "`CMAKE_ARGS`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Для аргументов, которые являются булевыми значениями (`on`, `off`, `true`, "
+"`false`, `0`, `1`), см. crossref:makefiles[options-cmake_bool, "
+"`OPT_CMAKE_BOOL` и `OPT_CMAKE_BOOL_OFF`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Для всех остальных случаев см. crossref:makefiles[options-cmake_on, "
+"`OPT_CMAKE_ON` и `OPT_CMAKE_OFF`]."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4193
+#, no-wrap
+msgid "`MESON_ARGS`"
+msgstr "`MESON_ARGS`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Для аргументов, принимающих `true` или `false`, см. "
+"crossref:makefiles[options-meson_true, `OPT_MESON_TRUE` и `OPT_MESON_FALSE`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Для аргументов, принимающих `yes` или `no`, используйте "
+"crossref:makefiles[options-meson_yes, `OPT_MESON_YES` и `OPT_MESON_NO`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Для аргументов, принимающих `enabled` или `disabled`, см. "
+"crossref:makefiles[options-meson_enabled, `OPT_MESON_ENABLED` и "
+"`OPT_MESON_DISABLED`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Во всех остальных случаях используйте crossref:makefiles[options-meson_on, "
+"`OPT_MESON_ON` и `OPT_MESON_OFF`]."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4202
+#, no-wrap
+msgid "`QMAKE_ARGS`"
+msgstr "`QMAKE_ARGS`"
+
+#. type: delimited block = 4
+#: 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 ""
+"См. crossref:makefiles[options-qmake_on, `OPT_QMAKE_ON` и `OPT_QMAKE_OFF`]."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4207
+msgid "See crossref:makefiles[options-use, `OPT_USE` and `OPT_USE_OFF`]."
+msgstr "См. crossref:makefiles[options-use, `OPT_USE` и `OPT_USE_OFF`]."
+
+#. type: Labeled list
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4208
+#, no-wrap
+msgid "`*_DEPENDS`"
+msgstr "`*_DEPENDS`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4210
+msgid ""
+"See crossref:makefiles[options-dependencies, Dependencies, `OPT_DEPTYPE` and "
+"`OPT_DEPTYPE_OFF`]."
+msgstr ""
+"См. crossref:makefiles[options-dependencies, Зависимости, `OPT_DEPTYPE` и "
+"`OPT_DEPTYPE_OFF`]."
+
+#. type: Labeled list
+#: 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:4214
+msgid ""
+"The most used variables have direct helpers, see crossref:makefiles[options-"
+"variables, Generic Variables Replacement, `OPT_VARIABLE` and "
+"`OPT_VARIABLE_OFF`]."
+msgstr ""
+"Наиболее используемые переменные имеют своих помощников, см. "
+"crossref:makefiles[options-variables, Замена Общих Переменных, "
+"`OPT_VARIABLE` и `OPT_VARIABLE_OFF`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Для любой переменной без специального помощника см. "
+"crossref:makefiles[options-vars, `OPT_VARS` и `OPT_VARS_OFF`]."
+
+#. type: Labeled list
+#: 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:4220
+msgid ""
+"When an option need another option to work, see crossref:makefiles[options-"
+"implies, `OPT_IMPLIES`]."
+msgstr ""
+"Когда для работы опции требуется другая опция, см. "
+"crossref:makefiles[options-implies, `OPT_IMPLIES`]."
+
+#. type: Labeled list
+#: 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:4224
+msgid ""
+"When an option cannot work if another is also enabled, see "
+"crossref:makefiles[options-prevents, `OPT_PREVENTS` and `OPT_PREVENTS_MSG`]."
+msgstr ""
+"Когда опция не может работать, если включена другая, см. "
+"crossref:makefiles[options-prevents, `OPT_PREVENTS` и `OPT_PREVENTS_MSG`]."
+
+#. type: Labeled list
+#: 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: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 ""
+"Когда для опции требуется дополнительная обработка, см. "
+"crossref:makefiles[options-targets, Дополнительные цели сборки, `_target_-"
+"_OPT_-on` и `_target_-_OPT_-off`]."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4230
+#, no-wrap
+msgid "`OPTIONS_SUB`"
+msgstr "`OPTIONS_SUB`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Если `OPTIONS_SUB` установлен в `yes`, то каждая из опций, добавленных в "
+"`OPTIONS_DEFINE`, будет добавлена в `PLIST_SUB` и `SUB_LIST`, например:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4238
+#, no-wrap
+msgid ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPTIONS_SUB=\tyes\n"
+msgstr ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPTIONS_SUB=\tyes\n"
+
+#. type: Plain text
+#: 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: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 "OPTIONS_DEFINE=\tOPT1\n"
+
+#. type: delimited block . 4
+#: 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 <bsd.port.options.mk>\n"
+msgstr ".include <bsd.port.options.mk>\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".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"
+
+#. type: delimited block = 4
+#: 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 ""
+"Значение `OPTIONS_SUB` игнорируется. Установка любого значения добавит "
+"записи `PLIST_SUB` и `SUB_LIST` для _всех_ опций."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4264
+#, no-wrap
+msgid "`OPT_USE` and `OPT_USE_OFF`"
+msgstr "`OPT_USE` и `OPT_USE_OFF`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, для каждой пары `_ключ=значение_` в ``OPT_USE``, "
+"_значение_ добавляется к соответствующему `USE_KEY`. Если _значение_ "
+"содержит пробелы, замените их запятыми, и они будут преобразованы обратно в "
+"пробелы во время обработки. `OPT_USE_OFF` работает аналогично, но когда "
+"`OPT` _не_ выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_USES=\txorg\n"
+"OPT1_USE=\tmysql=yes xorg=x11,xextproto,xext,xrandr\n"
+"OPT1_USE_OFF=\topenssl=yes\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".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"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4297
+#, no-wrap
+msgid "`CONFIGURE_ARGS` Helpers"
+msgstr "Помощники `CONFIGURE_ARGS`"
+
+#. type: Title =====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4300
+#, no-wrap
+msgid "`OPT_CONFIGURE_ENABLE`"
+msgstr "`OPT_CONFIGURE_ENABLE`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, для каждого _элемента_ в `OPT_CONFIGURE_ENABLE` к "
+"`CONFIGURE_ARGS` добавляется `--enable-_элемент_`. Если опция _OPT_ _не_ "
+"выбрана, к `CONFIGURE_ARGS` добавляется `--disable-_элемент_`. "
+"Необязательный аргумент может быть указан с помощью символа `=`. Этот "
+"аргумент добавляется только к опции конфигурации `--enable-_элемент_`. "
+"Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1 OPT2\n"
+"OPT1_CONFIGURE_ENABLE=\ttest1 test2\n"
+"OPT2_CONFIGURE_ENABLE=\ttest2=exhaustive\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".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"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT2}\n"
+"CONFIGURE_ARGS+=\t--enable-test2=exhaustive\n"
+".else\n"
+"CONFIGURE_ARGS+=\t--disable-test2\n"
+".endif\n"
+
+#. type: Title =====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4337
+#, no-wrap
+msgid "`OPT_CONFIGURE_WITH`"
+msgstr "`OPT_CONFIGURE_WITH`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, для каждого _элемента_ в `_OPT_CONFIGURE_WITH` к "
+"`CONFIGURE_ARGS` добавляется `--with-_элемент_`. Если опция _OPT_ _не_ "
+"выбрана, к `CONFIGURE_ARGS` добавляется `--without-_элемент_`. "
+"Необязательный аргумент можно указать с помощью символа `=`. Этот аргумент "
+"добавляется только к опции конфигурации `--with-_элемент_`. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1 OPT2\n"
+"OPT1_CONFIGURE_WITH=\ttest1\n"
+"OPT2_CONFIGURE_WITH=\ttest2=exhaustive\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT1}\n"
+"CONFIGURE_ARGS+=\t--with-test1\n"
+".else\n"
+"CONFIGURE_ARGS+=\t--without-test1\n"
+".endif\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT2}\n"
+"CONFIGURE_ARGS+=\t--with-test2=exhaustive\n"
+".else\n"
+"CONFIGURE_ARGS+=\t--without-test2\n"
+".endif\n"
+
+#. type: Title =====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4374
+#, no-wrap
+msgid "`OPT_CONFIGURE_ON` and `OPT_CONFIGURE_OFF`"
+msgstr "`OPT_CONFIGURE_ON` и `OPT_CONFIGURE_OFF`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, значение `OPT_CONFIGURE_ON`, если оно определено, "
+"добавляется к `CONFIGURE_ARGS`. `OPT_CONFIGURE_OFF` работает аналогично, но "
+"когда `OPT` _не_ выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_CONFIGURE_ON=\t--add-test\n"
+"OPT1_CONFIGURE_OFF=\t--no-test\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT1}\n"
+"CONFIGURE_ARGS+=\t--add-test\n"
+".else\n"
+"CONFIGURE_ARGS+=\t--no-test\n"
+".endif\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"В большинстве случаев помощники crossref:makefiles[options-configure_enable, "
+"`OPT_CONFIGURE_ENABLE`] и crossref:makefiles[options-configure_with, "
+"`OPT_CONFIGURE_WITH`] предоставляют более короткий и понятный функционал."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4409
+#, no-wrap
+msgid "`CMAKE_ARGS` Helpers"
+msgstr "Помощники `CMAKE_ARGS`"
+
+#. type: Title =====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4412
+#, no-wrap
+msgid "`OPT_CMAKE_ON` and `OPT_CMAKE_OFF`"
+msgstr "`OPT_CMAKE_ON` и `OPT_CMAKE_OFF`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, значение `OPT_CMAKE_ON`, если оно определено, "
+"добавляется к `CMAKE_ARGS`. `OPT_CMAKE_OFF` работает аналогично, но когда "
+"`OPT` _не_ выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_CMAKE_ON=\t-DTEST:BOOL=true -DDEBUG:BOOL=true\n"
+"OPT1_CMAKE_OFF=\t-DOPTIMIZE:BOOL=true\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".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"
+
+#. type: delimited block = 4
+#: 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 ""
+"См. crossref:makefiles[options-cmake_bool, `OPT_CMAKE_BOOL` и "
+"`OPT_CMAKE_BOOL_OFF`] для более краткой записи, когда значение является "
+"булевым."
+
+#. type: Title =====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4446
+#, no-wrap
+msgid "`OPT_CMAKE_BOOL` and `OPT_CMAKE_BOOL_OFF`"
+msgstr "`OPT_CMAKE_BOOL` и `OPT_CMAKE_BOOL_OFF`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, для каждого _элемента_ в `OPT_CMAKE_BOOL` "
+"добавляется `-D_элемент_:BOOL=true` к `CMAKE_ARGS`. Если опция _OPT_ _не_ "
+"выбрана, `-D_элемент_:BOOL=false` добавляется к `CONFIGURE_ARGS`. "
+"`OPT_CMAKE_BOOL_OFF` работает наоборот: `-D_элемент_:BOOL=false` добавляется "
+"к `CMAKE_ARGS`, когда опция выбрана, и `-D_элемент_:BOOL=true`, когда опция "
+"_не_ выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_CMAKE_BOOL=\tTEST DEBUG\n"
+"OPT1_CMAKE_BOOL_OFF=\tOPTIMIZE\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".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"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4478
+#, no-wrap
+msgid "`MESON_ARGS` Helpers"
+msgstr "Помощники `MESON_ARGS`"
+
+#. type: Title =====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4481
+#, no-wrap
+msgid "`OPT_MESON_ON` and `OPT_MESON_OFF`"
+msgstr "`OPT_MESON_ON` и `OPT_MESON_OFF`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, значение `OPT_MESON_ON`, если оно определено, "
+"добавляется к `MESON_ARGS`. `OPT_MESON_OFF` работает аналогичным образом, "
+"но когда `OPT` _не_ выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_MESON_ON=\t-Dopt=1\n"
+"OPT1_MESON_OFF=\t-Dopt=2\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT1}\n"
+"MESON_ARGS+=\t-Dopt=1\n"
+".else\n"
+"MESON_ARGS+=\t-Dopt=2\n"
+".endif\n"
+
+#. type: Title =====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4510
+#, no-wrap
+msgid "`OPT_MESON_TRUE` and `OPT_MESON_FALSE`"
+msgstr "`OPT_MESON_TRUE` и `OPT_MESON_FALSE`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, для каждого _элемента_ в `OPT_MESON_TRUE` "
+"добавляется `-D_элемент_=true` в `MESON_ARGS`. Если опция _OPT_ _не_ "
+"выбрана, добавляется `-D_элемент_=false` в `MESON_ARGS`. `OPT_MESON_FALSE` "
+"работает противоположным образом: `-D_элемент_=false` добавляется в "
+"`MESON_ARGS`, когда опция выбрана, и `-D_элемент_=true`, когда опция _не_ "
+"выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_MESON_TRUE=\ttest debug\n"
+"OPT1_MESON_FALSE=\toptimize\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".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"
+
+#. type: Title =====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4542
+#, no-wrap
+msgid "`OPT_MESON_YES` and `OPT_MESON_NO`"
+msgstr "`OPT_MESON_YES` и `OPT_MESON_NO`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, для каждого _элемента_ в `OPT_MESON_YES` "
+"добавляется `-D_элемент_=yes` к `MESON_ARGS`. Если опция _OPT_ _не_ выбрана, "
+"добавляется `-D_элемент_=no` к `MESON_ARGS`. `OPT_MESON_NO` работает "
+"противоположным образом: `-D_элемент_=no` добавляется к `MESON_ARGS`, когда "
+"опция выбрана, и `-D_элемент_=yes`, когда опция _не_ выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_MESON_YES=\ttest debug\n"
+"OPT1_MESON_NO=\toptimize\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".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"
+
+#. type: Title =====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4574
+#, no-wrap
+msgid "`OPT_MESON_ENABLED` and `OPT_MESON_DISABLED`"
+msgstr "`OPT_MESON_ENABLED` и `OPT_MESON_DISABLED`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, для каждого _элемента_ в `OPT_MESON_ENABLED` "
+"добавляется `-D_элемент_=enabled` к `MESON_ARGS`. Когда опция _OPT_ _не_ "
+"выбрана, добавляется `-D_элемент_=disabled` к `MESON_ARGS`. "
+"`OPT_MESON_DISABLED` работает противоположным образом: `-"
+"D_элемент_=disabled` добавляется к `MESON_ARGS`, когда опция выбрана, и `-"
+"D_элемент_=enabled`, когда опция _не_ выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_MESON_ENABLED=\ttest\n"
+"OPT1_MESON_DISABLED=\tdebug\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".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"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4604
+#, no-wrap
+msgid "`OPT_QMAKE_ON` and `OPT_QMAKE_OFF`"
+msgstr "`OPT_QMAKE_ON` и `OPT_QMAKE_OFF`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, значение `OPT_QMAKE_ON`, если оно определено, "
+"добавляется к `QMAKE_ARGS`. `OPT_QMAKE_OFF` работает аналогичным образом, "
+"но когда `OPT` _не_ выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_QMAKE_ON=\t-DTEST:BOOL=true\n"
+"OPT1_QMAKE_OFF=\t-DPRODUCTION:BOOL=true\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT1}\n"
+"QMAKE_ARGS+=\t-DTEST:BOOL=true\n"
+".else\n"
+"QMAKE_ARGS+=\t-DPRODUCTION:BOOL=true\n"
+".endif\n"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4633
+#, no-wrap
+msgid "`OPT_IMPLIES`"
+msgstr "`OPT_IMPLIES`"
+
+#. type: Plain text
+#: 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: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 ""
+"При выборе _OPT_ все перечисленные в этой переменной опции также будут "
+"выбраны. В качестве примера можно использовать описанный ранее "
+"crossref:makefiles[options-configure_enable,`OPT_CONFIGURE_ENABLE`]:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4644
+#, no-wrap
+msgid ""
+"OPTIONS_DEFINE=\tOPT1 OPT2\n"
+"OPT1_IMPLIES=\tOPT2\n"
+msgstr ""
+"OPTIONS_DEFINE=\tOPT1 OPT2\n"
+"OPT1_IMPLIES=\tOPT2\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4647
+#, no-wrap
+msgid ""
+"OPT1_CONFIGURE_ENABLE=\topt1\n"
+"OPT2_CONFIGURE_ENABLE=\topt2\n"
+msgstr ""
+"OPT1_CONFIGURE_ENABLE=\topt1\n"
+"OPT2_CONFIGURE_ENABLE=\topt2\n"
+
+#. type: Plain text
+#: 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: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 ""
+".if ${PORT_OPTIONS:MOPT1}\n"
+"CONFIGURE_ARGS+=\t--enable-opt1\n"
+".else\n"
+"CONFIGURE_ARGS+=\t--disable-opt1\n"
+".endif\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT2} || ${PORT_OPTIONS:MOPT1}\n"
+"CONFIGURE_ARGS+=\t--enable-opt2\n"
+".else\n"
+"CONFIGURE_ARGS+=\t--disable-opt2\n"
+".endif\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4671
+#, no-wrap
+msgid "Simple Use of `OPT_IMPLIES`"
+msgstr "Простое использование `OPT_IMPLIES`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Этот порт имеет опцию `X11` и опцию `GNOME`, для сборки которой необходимо "
+"выбрать опцию `X11`."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4681
+#, no-wrap
+msgid ""
+"OPTIONS_DEFINE=\tX11 GNOME\n"
+"OPTIONS_DEFAULT=\tX11\n"
+msgstr ""
+"OPTIONS_DEFINE=\tX11 GNOME\n"
+"OPTIONS_DEFAULT=\tX11\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"X11_USES=\txorg\n"
+"X11_USE=\txorg=xi,xextproto\n"
+"GNOME_USE=\tgnome=gtk30\n"
+"GNOME_IMPLIES=\tX11\n"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4691
+#, no-wrap
+msgid "`OPT_PREVENTS` and `OPT_PREVENTS_MSG`"
+msgstr "`OPT_PREVENTS` и `OPT_PREVENTS_MSG`"
+
+#. type: delimited block = 4
+#: 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: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 ""
+"Когда выбрана _OPT_, все опции, перечисленные в `OPT_PREVENTS`, должны быть "
+"сняты. Если задано `OPT_PREVENTS_MSG` и возникает конфликт, его содержимое "
+"будет показано с объяснением причины конфликта. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1 OPT2\n"
+"OPT1_PREVENTS=\tOPT2\n"
+"OPT1_PREVENTS_MSG=\tOPT1 and OPT2 enable conflicting options\n"
+
+#. type: Plain text
+#: 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: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 ""
+".if ${PORT_OPTIONS:MOPT2} && ${PORT_OPTIONS:MOPT1}\n"
+"BROKEN=\tOption OPT1 conflicts with OPT2 (select only one)\n"
+".endif\n"
+
+#. type: Plain text
+#: 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 ""
+"Единственное отличие заключается в том, что первый вариант выведет ошибку "
+"после выполнения `make config`, предлагая изменить выбранные настройки."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4722
+#, no-wrap
+msgid "Simple Use of `OPT_PREVENTS`"
+msgstr "Простое использование `OPT_PREVENTS`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Этот порт имеет опции `X509` и `SCTP`. Обе опции добавляют патчи, но патчи "
+"конфликтуют друг с другом, поэтому их нельзя выбрать одновременно."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4732
+#, no-wrap
+msgid "OPTIONS_DEFINE=\tX509 SCTP\n"
+msgstr "OPTIONS_DEFINE=\tX509 SCTP\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"SCTP_PATCHFILES=\t${PORTNAME}-6.8p1-sctp-2573.patch.gz:-p1\n"
+"SCTP_CONFIGURE_WITH=\tsctp\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4745
+#, no-wrap
+msgid "`OPT_VARS` and `OPT_VARS_OFF`"
+msgstr "`OPT_VARS` и `OPT_VARS_OFF`"
+
+#. type: delimited block = 4
+#: 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: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 ""
+"Перед использованием `OPT_VARS` и `OPT_VARS_OFF` проверьте, доступен ли "
+"более специфичный вспомогательный инструмент в crossref:makefiles[options-"
+"variables, Универсальная замена переменных, `OPT_VARIABLE` и "
+"`OPT_VARIABLE_OFF`]."
+
+#. type: delimited block = 4
+#: 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 ""
+"Когда выбрана опция _OPT_ и определены `OPT_VARS`, пары `_key_=_value_` и "
+"`_key_+=_value_` обрабатываются из `OPT_VARS`. Оператор `=` приводит к "
+"перезаписи существующего значения `KEY`, а `+=` добавляет к значению. "
+"`OPT_VARS_OFF` работает аналогично, но когда `OPT` _не_ выбрана."
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: delimited block . 4
+#: 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 "MAKE_ARGS=\tALSO_BUILD=\"${ALSO_BUILD}\" BIN3_BUILD=\"${BIN3_BUILD}\"\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT1}\n"
+"ALSO_BUILD+=\tbin1\n"
+".endif\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT2}\n"
+"ALSO_BUILD+=\tbin2\n"
+".endif\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT2}\n"
+"BIN3_BUILD=\tyes\n"
+".else\n"
+"BIN3_BUILD=\tno\n"
+".endif\n"
+
+#. type: delimited block = 4
+#: 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:4802
+#, no-wrap
+msgid "OPT_VARS=\tfoo=\"bar baz\"\n"
+msgstr "OPT_VARS=\tfoo=\"bar baz\"\n"
+
+#. type: Plain text
+#: 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 ""
+"Это связано с тем, как man:make[1] обрабатывает пробелы при раскрытии "
+"переменных. Когда `OPT_VARS= foo=bar baz` раскрывается, переменная в итоге "
+"содержит две строки: `foo=bar` и `baz`. Однако отправитель, вероятно, "
+"предполагал, что должна быть только одна строка — `foo=bar baz`. Заключение "
+"значения в кавычки предотвращает использование пробела в качестве "
+"разделителя."
+
+#. type: Plain text
+#: 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 ""
+"Также _не_ добавляйте лишние пробелы после знака `_var_=` и перед значением, "
+"это также разобьёт строку на две части. _Это не сработает_:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4815
+#, no-wrap
+msgid "OPT_VARS=\tfoo=\tbar\n"
+msgstr "OPT_VARS=\tfoo=\tbar\n"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4820
+#, no-wrap
+msgid "Dependencies, `OPT_DEPTYPE` and `OPT_DEPTYPE_OFF`"
+msgstr "Зависимости, `OPT_DEPTYPE` и `OPT_DEPTYPE_OFF`"
+
+#. type: delimited block = 4
+#: 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:4825
+msgid "`PKG_DEPENDS`"
+msgstr "`PKG_DEPENDS`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Когда выбрана опция _OPT_, значение `OPT_DEPTYPE`, если оно определено, "
+"добавляется к `DEPTYPE`. `OPT_DEPTYPE_OFF` работает аналогично, но когда "
+"_не_ выбрана `OPT`. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_LIB_DEPENDS=\tliba.so:devel/a\n"
+"OPT1_LIB_DEPENDS_OFF=\tlibb.so:devel/b\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT1}\n"
+"LIB_DEPENDS+=\tliba.so:devel/a\n"
+".else\n"
+"LIB_DEPENDS+=\tlibb.so:devel/b\n"
+".endif\n"
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4859
+#, no-wrap
+msgid "Generic Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`"
+msgstr "Универсальная замена переменных, `OPT_VARIABLE` и `OPT_VARIABLE_OFF`"
+
+#. type: Plain text
+#: 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:4864
+msgid "`ALL_TARGET`"
+msgstr "`ALL_TARGET`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4865
+msgid "`BINARY_ALIAS`"
+msgstr "`BINARY_ALIAS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4866
+msgid "`BROKEN`"
+msgstr "`BROKEN`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4868
+msgid "`CFLAGS`"
+msgstr "`CFLAGS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4869
+msgid "`CONFIGURE_ENV`"
+msgstr "`CONFIGURE_ENV`"
+
+#. type: Labeled list
+#: 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 "`CONFLICTS`"
+
+#. type: Labeled list
+#: 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 "`CONFLICTS_BUILD`"
+
+#. type: Labeled list
+#: 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 "`CONFLICTS_INSTALL`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4873
+msgid "`CPPFLAGS`"
+msgstr "`CPPFLAGS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4874
+msgid "`CXXFLAGS`"
+msgstr "`CXXFLAGS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4875
+msgid "`DESKTOP_ENTRIES`"
+msgstr "`DESKTOP_ENTRIES`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4878
+msgid "`EXTRA_PATCHES`"
+msgstr "`EXTRA_PATCHES`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4890
+msgid "`IGNORE`"
+msgstr "`IGNORE`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4891
+msgid "`INFO`"
+msgstr "`INFO`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4892
+msgid "`INSTALL_TARGET`"
+msgstr "`INSTALL_TARGET`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4893
+msgid "`LDFLAGS`"
+msgstr "`LDFLAGS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4894
+msgid "`LIBS`"
+msgstr "`LIBS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4895
+msgid "`MAKE_ARGS`"
+msgstr "`MAKE_ARGS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4896
+msgid "`MAKE_ENV`"
+msgstr "`MAKE_ENV`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4899
+msgid "`PATCH_SITES`"
+msgstr "`PATCH_SITES`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4900
+msgid "`PLIST_DIRS`"
+msgstr "`PLIST_DIRS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4901
+msgid "`PLIST_FILES`"
+msgstr "`PLIST_FILES`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4902
+msgid "`PLIST_SUB`"
+msgstr "`PLIST_SUB`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4903
+msgid "`PORTDOCS`"
+msgstr "`PORTDOCS`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4904
+msgid "`PORTEXAMPLES`"
+msgstr "`PORTEXAMPLES`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4905
+msgid "`SUB_FILES`"
+msgstr "`SUB_FILES`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4906
+msgid "`SUB_LIST`"
+msgstr "`SUB_LIST`"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4907
+msgid "`TEST_TARGET`"
+msgstr "`TEST_TARGET`"
+
+#. type: Plain text
+#: 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 ""
+"Когда выбрана опция _OPT_, значение `OPT_ABOVEVARIABLE`, если оно "
+"определено, добавляется к `_ABOVEVARIABLE_`. `OPT_ABOVEVARIABLE_OFF` "
+"работает аналогично, но когда `OPT` _не_ выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"OPTIONS_DEFINE=\tOPT1\n"
+"OPT1_USES=\tgmake\n"
+"OPT1_CFLAGS_OFF=\t-DTEST\n"
+
+#. type: delimited block . 4
+#: 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 ""
+".if ${PORT_OPTIONS:MOPT1}\n"
+"USES+=\t\tgmake\n"
+".else\n"
+"CFLAGS+=\t-DTEST\n"
+".endif\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"Некоторые переменные отсутствуют в этом списке, в частности `PKGNAMEPREFIX` "
+"и `PKGNAMESUFFIX`. Это сделано намеренно. Порт _не должен_ изменять своё имя "
+"при изменении набора опций."
+
+#. type: delimited block = 4
+#: 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 ""
+"Некоторые из этих переменных, по крайней мере `ALL_TARGET`, `DISTFILES` и "
+"`INSTALL_TARGET`, получают свои значения по умолчанию _после_ обработки "
+"опций."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4947
+msgid "With these lines in the [.filename]#Makefile#:"
+msgstr "С такими строками в [.filename]#Makefile#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4951
+#, no-wrap
+msgid "ALL_TARGET=\tall\n"
+msgstr "ALL_TARGET=\tall\n"
+
+#. type: delimited block . 4
+#: 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 "DOCS_ALL_TARGET=\tdoc\n"
+
+#. type: Plain text
+#: 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 ""
+"Если опция `DOCS` включена, `ALL_TARGET` будет иметь конечное значение `all "
+"doc`; если опция отключена, значение будет `all`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4958
+msgid "With only the options helper line in the [.filename]#Makefile#:"
+msgstr "Только со строкой помощника опций в [.filename]#Makefile#:"
+
+#. type: Plain text
+#: 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 ""
+"Если опция `DOCS` включена, `ALL_TARGET` будет иметь окончательное значение "
+"`doc`; если опция отключена, значение будет `all`."
+
+#. type: Title ====
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4968
+#, no-wrap
+msgid "Additional Build Targets, `_target_-_OPT_-on` and `_target_-_OPT_-off`"
+msgstr "Дополнительные цели сборки, `_target_-_OPT_-on` и `_target_-_OPT_-off`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4971
+msgid ""
+"These [.filename]#Makefile# targets can accept optional extra build targets:"
+msgstr ""
+"Эти цели в [.filename]#Makefile# могут принимать дополнительные опциональные "
+"цели сборки:"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4973
+msgid "`pre-fetch`"
+msgstr "`pre-fetch`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4974
+msgid "`do-fetch`"
+msgstr "`do-fetch`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4975
+msgid "`post-fetch`"
+msgstr "`post-fetch`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4976
+msgid "`pre-extract`"
+msgstr "`pre-extract`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4977
+msgid "`do-extract`"
+msgstr "`do-extract`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4978
+msgid "`post-extract`"
+msgstr "`post-extract`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4979
+msgid "`pre-patch`"
+msgstr "`pre-patch`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4980
+msgid "`do-patch`"
+msgstr "`do-patch`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4981
+msgid "`post-patch`"
+msgstr "`post-patch`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4982
+msgid "`pre-configure`"
+msgstr "`pre-configure`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4983
+msgid "`do-configure`"
+msgstr "`do-configure`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4984
+msgid "`post-configure`"
+msgstr "`post-configure`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4985
+msgid "`pre-build`"
+msgstr "`pre-build`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4986
+msgid "`do-build`"
+msgstr "`do-build`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4987
+msgid "`post-build`"
+msgstr "`post-build`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4988
+msgid "`pre-install`"
+msgstr "`pre-install`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4989
+msgid "`do-install`"
+msgstr "`do-install`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4990
+msgid "`post-install`"
+msgstr "`post-install`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4991
+msgid "`post-stage`"
+msgstr "`post-stage`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4992
+msgid "`pre-package`"
+msgstr "`pre-package`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4993
+msgid "`do-package`"
+msgstr "`do-package`"
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4994
+msgid "`post-package`"
+msgstr "`post-package`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Когда выбрана опция _OPT_, цель `_TARGET_-_OPT_-on`, если она определена, "
+"выполняется после `_TARGET_`. `_TARGET_-_OPT_-off` работает аналогично, но "
+"когда `OPT` _не_ выбрана. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"post-patch-OPT1-on:\n"
+"\t@${REINPLACE_CMD} -e '/opt1/s|/usr/bin/|${EXAMPLESDIR}/|' ${WRKSRC}/Makefile\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"post-patch-OPT1-off:\n"
+"\t@${REINPLACE_CMD} -e '/opt1/s|/usr/bin/|${PREFIX}/bin/|' ${WRKSRC}/Makefile\n"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Title ==
+#: 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: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 ""
+"Каждый порт извлекается в рабочий каталог, который должен быть доступен для "
+"записи. Система портов по умолчанию распаковывает `DISTFILES` в каталог с "
+"именем `${DISTNAME}`. Другими словами, если в [.filename]#Makefile# указано:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5037
+#, no-wrap
+msgid ""
+"PORTNAME=\tfoo\n"
+"DISTVERSION=\t1.0\n"
+msgstr ""
+"PORTNAME=\tfoo\n"
+"DISTVERSION=\t1.0\n"
+
+#. type: Plain text
+#: 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 ""
+"то файлы дистрибутива порта содержат каталог верхнего уровня "
+"[.filename]#foo-1.0#, и остальные файлы находятся в этом каталоге."
+
+#. type: Plain text
+#: 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:5044
+#, no-wrap
+msgid "`WRKSRC`"
+msgstr "`WRKSRC`"
+
+#. type: Plain text
+#: 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 ""
+"Переменная указывает имя каталога, который создается при распаковке "
+"distfiles приложения. Чтобы в нашем предыдущем примере распаковка "
+"происходила в каталог с именем [.filename]#foo# (а не [.filename]#foo-1.0#), "
+"напишите:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5052
+#, no-wrap
+msgid "WRKSRC=\t${WRKDIR}/foo\n"
+msgstr "WRKSRC=\t${WRKDIR}/foo\n"
+
+#. type: Plain text
+#: 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:5059
+#, no-wrap
+msgid "WRKSRC=\t${WRKDIR}/${PORTNAME}\n"
+msgstr "WRKSRC=\t${WRKDIR}/${PORTNAME}\n"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5062
+#, no-wrap
+msgid "`WRKSRC_SUBDIR`"
+msgstr "`WRKSRC_SUBDIR`"
+
+#. type: Plain text
+#: 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 ""
+"Если исходные файлы, необходимые для порта, находятся в подкаталоге "
+"распакованного дистрибутива, присвойте `WRKSRC_SUBDIR` имя этого каталога."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5069
+#, no-wrap
+msgid "WRKSRC_SUBDIR=\tsrc\n"
+msgstr "WRKSRC_SUBDIR=\tsrc\n"
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5072
+#, no-wrap
+msgid "`NO_WRKSUBDIR`"
+msgstr "`NO_WRKSUBDIR`"
+
+#. type: Plain text
+#: 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 ""
+"Если порт не распаковывается в подкаталог вообще, установите `NO_WRKSUBDIR`, "
+"чтобы указать это."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5079
+#, no-wrap
+msgid "NO_WRKSUBDIR=\tyes\n"
+msgstr "NO_WRKSUBDIR=\tyes\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"Поскольку `WRKDIR` является единственной директорией, которая должна быть "
+"доступна для записи во время сборки, и используется для хранения многих "
+"файлов, фиксирующих состояние сборки, извлечение порта будет принудительно "
+"выполнено в поддиректорию."
+
+#. type: Title ==
+#: 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:5090
+msgid ""
+"There are three different variables to register a conflict between packages "
+"and ports: `CONFLICTS`, `CONFLICTS_INSTALL` and `CONFLICTS_BUILD`."
+msgstr ""
+"Существует три различные переменные для регистрации конфликтов между "
+"пакетами и портами: `CONFLICTS`, `CONFLICTS_INSTALL` и `CONFLICTS_BUILD`."
+
+#. type: delimited block = 4
+#: 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 ""
+"Эти переменные автоматически устанавливают переменную `IGNORE`, более "
+"подробно описанную в crossref:porting-dads[dads-noinstall,Пометка порта как "
+"неустанавливаемого с помощью `BROKEN`, `FORBIDDEN` или `IGNORE`]."
+
+#. type: Plain text
+#: 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 ""
+"При удалении одного из нескольких конфликтующих портов рекомендуется "
+"оставлять `CONFLICTS` в тех других портах на несколько месяцев, чтобы учесть "
+"пользователей, которые обновляются лишь время от времени."
+
+#. type: Plain text
+#: 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 ""
+"Если пакет не может сосуществовать с другими пакетами (из-за конфликтов "
+"файлов, несовместимости во время выполнения и т.д.). Проверка "
+"`CONFLICTS_INSTALL` выполняется после этапа сборки и перед этапом установки."
+
+#. type: Plain text
+#: 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: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 ""
+"Если порт не может быть собран, когда определённый порт уже установлен и "
+"итоговый пакет не может сосуществовать с другим пакетом. Проверка "
+"`CONFLICTS` выполняется до этапа сборки и до этапа установки."
+
+#. type: Plain text
+#: 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 ""
+"Каждый элемент, разделённый пробелами, в значениях переменных `CONFLICTS*` "
+"сопоставляется с пакетами(кроме того, который собирается) с использованием "
+"правил раскрытия шаблонов имен файлов в оболочке shell. Это позволяет "
+"перечислить все варианты порта в списке конфликтов вместо необходимости "
+"исключать собираемый вариант из этого списка. Например, если установлен git-"
+"lite, `CONFLICTS_INSTALL=git git-lite` позволит выполнить:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5119
+#, no-wrap
+msgid "% make -C devel/git FLAVOR=lite all deinstall install\n"
+msgstr "% make -C devel/git FLAVOR=lite all deinstall install\n"
+
+#. type: Plain text
+#: 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 ""
+"Но следующая команда сообщит о конфликте, так как установленное имя базового "
+"пакета — `git-lite`, а `git` будет собран, но не может быть установлен "
+"вместе с `git-lite`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5125
+#, no-wrap
+msgid "% make -C devel/git FLAVOR=default all deinstall install\n"
+msgstr "% make -C devel/git FLAVOR=default all deinstall install\n"
+
+#. type: Plain text
+#: 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 ""
+"Без этой функции Makefile потребовал бы по одному "
+"`_flavor__CONFLICTS_INSTALL` для каждого варианта, перечисляя все остальные "
+"варианты."
+
+#. type: Plain text
+#: 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 ""
+"Наиболее распространённым содержимым одной из этих переменных является база "
+"пакета другого порта. База пакета — это имя пакета без указания версии, её "
+"можно получить, выполнив команду `make -V PKGBASE`."
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5133
+#, no-wrap
+msgid "Basic usage of `CONFLICTS*`"
+msgstr "Простой пример использования `CONFLICTS*`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Пакет package:dns/bind99[] не может быть установлен, если присутствует пакет "
+"package:dns/bind910[], так как они устанавливают одинаковые файлы. Сначала "
+"соберите базовый пакет для использования:"
+
+#. type: delimited block . 4
+#: 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 ""
+"% make -C dns/bind99 -V PKGBASE\n"
+"bind99\n"
+"% make -C dns/bind910 -V PKGBASE\n"
+"bind910\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5149
+msgid "Then add to the [.filename]#Makefile# of package:dns/bind99[]:"
+msgstr "Затем добавьте в [.filename]#Makefile# пакета package:dns/bind99[]:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5153
+#, no-wrap
+msgid "CONFLICTS_INSTALL=\tbind910\n"
+msgstr "CONFLICTS_INSTALL=\tbind910\n"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5156
+msgid "And add to the [.filename]#Makefile# of package:dns/bind910[]:"
+msgstr "И добавьте в [.filename]#Makefile# пакета package:dns/bind910[]:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5160
+#, no-wrap
+msgid "CONFLICTS_INSTALL=\tbind99\n"
+msgstr "CONFLICTS_INSTALL=\tbind99\n"
+
+#. type: delimited block = 4
+#: 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:5169
+#, no-wrap
+msgid "Using `CONFLICTS*` With Globs."
+msgstr "Использование `CONFLICTS*` с шаблонами имён файлов."
+
+#. type: Plain text
+#: 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 ""
+"В версиях с 2.0 по 2.4.1_2 пакет package:deskutils/gnotime[] устанавливал "
+"встроенную версию пакета package:databases/qof[]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5176
+msgid ""
+"To reflect this past, the [.filename]#Makefile# of package:databases/qof[] "
+"contains:"
+msgstr ""
+"Чтобы отразить это прошлое, [.filename]#Makefile# пакета package:databases/"
+"qof[] содержит:"
+
+#. type: delimited block . 4
+#: 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 ""
+"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"
+
+#. type: Plain text
+#: 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 ""
+"Первый элемент соответствует версиям `2.0`–`2.3`, второй — всем редакциям "
+"`2.4.0`, третий — точно версии `2.4.1`, а последний — первой и второй "
+"редакциям версии `2.4.1`."
+
+#. type: Plain text
+#: 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 ""
+"package:deskutils/gnotime[] не имеет строки конфликтов, потому что его "
+"текущая версия не конфликтует ни с чем другим."
+
+#. type: delimited block = 4
+#: 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 ""
+"Переменная `DISABLE_CONFLICTS` может быть временно установлена при "
+"выполнении целей, на которые не влияют конфликты. Эту переменную не следует "
+"устанавливать в Makefiles портов."
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5195
+#, no-wrap
+msgid "% make -DDISABLE_CONFLICTS patch\n"
+msgstr "% make -DDISABLE_CONFLICTS patch\n"
+
+#. type: Title ==
+#: 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: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 ""
+"Фаза `install` очень важна для конечного пользователя, так как она добавляет "
+"файлы в его систему. Все дополнительные команды, выполняемые в целях `*-"
+"install` [.filename]#Makefile# порта, должны выводиться на экран. _Не_ "
+"заглушайте эти команды с помощью `@` или `.SILENT`."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5208
+#, no-wrap
+msgid "`INSTALL_*` Macros"
+msgstr "Макросы `INSTALL_*`"
+
+#. type: Plain text
+#: 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 ""
+"Используйте макросы, предоставленные в [.filename]#bsd.port.mk#, чтобы "
+"обеспечить корректные режимы файлов в целях `*-install` порта. "
+"Устанавливайте владельца напрямую в [.filename]#pkg-plist# в соответствующих "
+"записях, таких как `@(_владелец_,_группа_,)`, `@owner _владелец_` и `@group "
+"_группа_`. Эти операторы действуют до переопределения или до конца "
+"[.filename]#pkg-plist#, поэтому не забудьте сбросить их, когда они больше не "
+"нужны. Владелец по умолчанию — `root:wheel`. Дополнительную информацию см. в "
+"crossref:plist[plist-keywords-base,Базовые Ключевые Слова]."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5217
+msgid "`INSTALL_PROGRAM` is a command to install binary executables."
+msgstr "`INSTALL_PROGRAM` — команда для установки бинарных исполняемых файлов."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5218
+msgid "`INSTALL_SCRIPT` is a command to install executable scripts."
+msgstr "`INSTALL_SCRIPT` — команда для установки исполняемых скриптов."
+
+#. type: Plain text
+#: 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 ""
+"`INSTALL_LIB` — это команда для установки общих библиотек (но не статических "
+"библиотек)."
+
+#. type: Plain text
+#: 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 ""
+"`INSTALL_KLD` — это команда для установки загружаемых модулей ядра. "
+"Некоторые архитектуры не поддерживают удаление символов из модулей, поэтому "
+"используйте эту команду вместо `INSTALL_PROGRAM`."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5221
+msgid ""
+"`INSTALL_DATA` is a command to install sharable data, including static "
+"libraries."
+msgstr ""
+"`INSTALL_DATA` — это команда для установки общих данных, включая статические "
+"библиотеки."
+
+#. type: Plain text
+#: 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 ""
+"`INSTALL_MAN` — это команда для установки man-страниц и другой документации "
+"(она ничего не сжимает)."
+
+#. type: Plain text
+#: 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 ""
+"Эти переменные передаются команде man:install[1] с соответствующими флагами "
+"для каждой ситуации."
+
+#. type: delimited block = 4
+#: 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 ""
+"Не используйте `INSTALL_LIB` для установки статических библиотек, так как их "
+"удаление делает их бесполезными. Вместо этого используйте `INSTALL_DATA`."
+
+#. type: Title ===
+#: 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: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 ""
+"Установленные бинарные файлы должны быть очищены от отладочной информации. "
+"Не очищайте бинарные файлы вручную, если это не является абсолютно "
+"необходимым. Макрос `INSTALL_PROGRAM` устанавливает и очищает бинарный файл "
+"одновременно. Макрос `INSTALL_LIB` делает то же самое с разделяемыми "
+"библиотеками."
+
+#. type: Plain text
+#: 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 ""
+"Когда файл необходимо очистить, но ни макросы `INSTALL_PROGRAM`, ни "
+"`INSTALL_LIB` не подходят, `${STRIP_CMD}` очищает программу или разделяемую "
+"библиотеку. Обычно это делается в цели `post-install`. Например:"
+
+#. type: delimited block . 4
+#: 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 ""
+"post-install:\n"
+"\t${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/xdl\n"
+
+#. type: Plain text
+#: 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: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 ""
+"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"
+
+#. type: Plain text
+#: 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 ""
+"Используйте man:file[1] для файла, чтобы определить, был ли он подвергнут "
+"удалению символов. man:file[1] сообщает, что бинарные файлы либо `stripped` "
+"(удалены символы), либо `not stripped` (символы не удалены). Кроме того, "
+"man:strip[1] обнаружит программы, которые уже были подвергнуты удалению "
+"символов, и завершит работу без ошибок."
+
+#. type: delimited block = 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5263
+msgid "When `WITH_DEBUG` is defined, elf files _must not_ be stripped."
+msgstr "Когда определён `WITH_DEBUG`, elf-файлы _не должны_ быть очищены."
+
+#. type: delimited block = 4
+#: 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 ""
+"Переменные (`STRIP_CMD`, `INSTALL_PROGRAM`, `INSTALL_LIB`, ...) и "
+"crossref:uses[uses,`USES`], предоставляемые фреймворком, обрабатывают это "
+"автоматически."
+
+#. type: delimited block = 4
+#: 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 ""
+"Некоторое программное обеспечение добавляет `-s` к своим `LDFLAGS`. В этом "
+"случае либо удалите `-s`, если установлен `WITH_DEBUG`, либо удалите его "
+"безусловно и используйте `STRIP_CMD` в `post-install`."
+
+#. type: Title ===
+#: 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: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 ""
+"Иногда необходимо установить большое количество файлов с сохранением их "
+"иерархической структуры. Например, копирование всего дерева каталогов из "
+"`WRKSRC` в целевой каталог под `PREFIX`. Обратите внимание, что `PREFIX`, "
+"`EXAMPLESDIR`, `DATADIR` и другие переменные путей всегда должны "
+"предваряться `STAGEDIR` для соблюдения процедуры промежуточной установки "
+"(см. crossref:special[staging,Промежуточная установка])."
+
+#. type: Plain text
+#: 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 ""
+"Для этой ситуации существуют два макроса. Преимущество использования этих "
+"макросов вместо `cp` заключается в том, что они гарантируют целевым файлам "
+"правильные значения владельца и разрешений. Первый макрос, `COPYTREE_BIN`, "
+"устанавливает все установленные файлы как исполняемые, что делает его "
+"подходящим для установки в [.filename]#PREFIX/bin#. Второй макрос, "
+"`COPYTREE_SHARE#, не устанавливает исполняемые разрешения для файлов и, "
+"следовательно, подходит для установки файлов в [.filename]#PREFIX/share#."
+
+#. type: delimited block . 4
+#: 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 ""
+"post-install:\n"
+"\t${MKDIR} ${STAGEDIR}${EXAMPLESDIR}\n"
+"\t(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})\n"
+
+#. type: Plain text
+#: 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 ""
+"Этот пример установит содержимое каталога [.filename]#examples# из "
+"дистрибутива вендора в соответствующее расположение примеров порта."
+
+#. type: delimited block . 4
+#: 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 ""
+"post-install:\n"
+"\t${MKDIR} ${STAGEDIR}${DATADIR}/summer\n"
+"\t(cd ${WRKSRC}/temperatures && ${COPYTREE_SHARE} \"June July August\" ${STAGEDIR}${DATADIR}/summer)\n"
+
+#. type: Plain text
+#: 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 ""
+"И этот пример установит данные летних месяцев в подкаталог "
+"[.filename]#summer# каталога [.filename]#DATADIR#."
+
+#. type: Plain text
+#: 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 ""
+"Дополнительные аргументы `find` могут быть переданы через третий аргумент "
+"макросов `COPYTREE_*`. Например, чтобы установить все файлы из первого "
+"примера, кроме Makefiles, можно использовать следующие команды."
+
+#. type: delimited block . 4
+#: 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 ""
+"post-install:\n"
+"\t${MKDIR} ${STAGEDIR}${EXAMPLESDIR}\n"
+"\t(cd ${WRKSRC}/examples && \\\n"
+"\t${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} \"! -name Makefile\")\n"
+
+#. type: Plain text
+#: 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 ""
+"Эти макросы не добавляют установленные файлы в [.filename]#pkg-plist#. Их "
+"необходимо добавлять вручную. Для дополнительной документации (`PORTDOCS`, "
+"см. crossref:makefiles[install-documentation, Установка дополнительной "
+"документации]) и примеров (`PORTEXAMPLES`), префиксы `%%PORTDOCS%%` или `%"
+"%PORTEXAMPLES%%` должны быть добавлены в [.filename]#pkg-plist#."
+
+#. type: Title ===
+#: 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: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 ""
+"Если у программного обеспечения есть документация, помимо стандартных "
+"страниц man и info, которая может быть полезна пользователю, установите её в "
+"`DOCSDIR`. Это можно сделать, как и в предыдущем пункте, в цели `post-"
+"install`."
+
+#. type: Plain text
+#: 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 ""
+"Создайте новый каталог для порта. Имя каталога — `DOCSDIR`. Обычно оно равно "
+"`PORTNAME`. Однако, если пользователю может потребоваться установка разных "
+"версий порта одновременно, можно использовать полное имя `PKGNAME`."
+
+#. type: Plain text
+#: 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 ""
+"Поскольку устанавливаются только файлы, перечисленные в [.filename]#pkg-"
+"plist#, можно безопасно всегда устанавливать документацию в `STAGEDIR` (см. "
+"crossref:special[staging,Staging]). Поэтому блоки `.if` требуются только в "
+"тех случаях, когда устанавливаемые файлы достаточно велики, чтобы вызвать "
+"значительные накладные расходы на ввод-вывод."
+
+#. type: delimited block . 4
+#: 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 ""
+"post-install:\n"
+"\t${MKDIR} ${STAGEDIR}${DOCSDIR}\n"
+"\t${INSTALL_DATA} ${WRKSRC}/docs/xvdocs.ps ${STAGEDIR}${DOCSDIR}\n"
+
+#. type: Plain text
+#: 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 ""
+"С другой стороны, если в порте есть опция DOCS, установите документацию в "
+"цели `post-install-DOCS-on`. Эти цели описаны в crossref:makefiles[options-"
+"targets, Дополнительные цели сборки, `_target_-_OPT_-on` и `_target_-_OPT_-"
+"off`]."
+
+#. type: Plain text
+#: 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 ""
+"Вот несколько полезных переменных и их стандартное раскрытие при "
+"использовании в [.filename]#Makefile#:"
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5342
+msgid "`DATADIR` gets expanded to [.filename]#PREFIX/share/PORTNAME#."
+msgstr "`DATADIR` раскрывается в [.filename]#PREFIX/share/PORTNAME#."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5343
+msgid "`DATADIR_REL` gets expanded to [.filename]#share/PORTNAME#."
+msgstr "`DATADIR_REL` раскрывается в [.filename]#share/PORTNAME#."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5344
+msgid "`DOCSDIR` gets expanded to [.filename]#PREFIX/share/doc/PORTNAME#."
+msgstr "`DOCSDIR` раскрывается в [.filename]#PREFIX/share/doc/PORTNAME#."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5345
+msgid "`DOCSDIR_REL` gets expanded to [.filename]#share/doc/PORTNAME#."
+msgstr "`DOCSDIR_REL` раскрывается в [.filename]#share/doc/PORTNAME#."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5346
+msgid ""
+"`EXAMPLESDIR` gets expanded to [.filename]#PREFIX/share/examples/PORTNAME#."
+msgstr ""
+"`EXAMPLESDIR` раскрывается в [.filename]#PREFIX/share/examples/PORTNAME#."
+
+#. type: Plain text
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5347
+msgid ""
+"`EXAMPLESDIR_REL` gets expanded to [.filename]#share/examples/PORTNAME#."
+msgstr "`EXAMPLESDIR_REL` раскрывается в [.filename]#share/examples/PORTNAME#."
+
+#. type: delimited block = 4
+#: 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 ""
+"Опция `DOCS` управляет только дополнительной документацией, устанавливаемой "
+"в `DOCSDIR`. Она не применяется к стандартным man-страницам и info-"
+"страницам. Содержимое, устанавливаемое в `EXAMPLESDIR`, контролируется "
+"опцией `EXAMPLES`."
+
+#. type: Plain text
+#: 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 ""
+"Эти переменные экспортируются в `PLIST_SUB`. Их значения будут представлены "
+"там в виде путей относительно [.filename]#PREFIX#, если это возможно. То "
+"есть, [.filename]#share/doc/PORTNAME# будет заменено на `%%DOCSDIR%%` в "
+"списке упаковки по умолчанию и так далее. (Подробнее о подстановках в "
+"[.filename]#pkg-plist# см. crossref:plist[plist-sub,здесь].)"
+
+#. type: Plain text
+#: 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 ""
+"Все условно устанавливаемые файлы и каталоги документации включаются в "
+"[.filename]#pkg-plist# с префиксом `%%PORTDOCS%%`, например:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5366
+#, no-wrap
+msgid ""
+"%%PORTDOCS%%%%DOCSDIR%%/AUTHORS\n"
+"%%PORTDOCS%%%%DOCSDIR%%/CONTACT\n"
+msgstr ""
+"%%PORTDOCS%%%%DOCSDIR%%/AUTHORS\n"
+"%%PORTDOCS%%%%DOCSDIR%%/CONTACT\n"
+
+#. type: Plain text
+#: 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 ""
+"В качестве альтернативы перечислению файлов документации в [.filename]#pkg-"
+"plist#, порт может установить переменную `PORTDOCS` в список имён файлов и "
+"шаблонов имен файлов shell для добавления в итоговый список упаковки. Имена "
+"будут относительны к `DOCSDIR`. Поэтому порт, использующий `PORTDOCS` и "
+"нестандартное расположение документации, должен соответствующим образом "
+"установить `DOCSDIR`. Если в `PORTDOCS` указан каталог или он соответствует "
+"шаблону из этой переменной, всё поддерево содержащихся файлов и каталогов "
+"будет зарегистрировано в итоговом списке упаковки. Если опция `DOCS` "
+"отключена, файлы и каталоги, перечисленные в `PORTDOCS`, не будут "
+"установлены или добавлены в список упаковки порта. Установка документации в "
+"`PORTDOCS`, как показано выше, остаётся на усмотрение самого порта. Типичный "
+"пример использования `PORTDOCS`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5379
+#, no-wrap
+msgid "PORTDOCS=\tREADME.* ChangeLog docs/*\n"
+msgstr "PORTDOCS=\tREADME.* ChangeLog docs/*\n"
+
+#. type: delimited block = 4
+#: 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 ""
+"Эквивалентами `PORTDOCS` для файлов, установленных в `DATADIR` и "
+"`EXAMPLESDIR`, являются `PORTDATA` и `PORTEXAMPLES` соответственно."
+
+#. type: delimited block = 4
+#: 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 ""
+"Содержимое файла [.filename]#pkg-message# отображается при установке. "
+"Подробности см. в разделе crossref:pkg-files[porting-message,использование "
+"файла [.filename]#pkg-message#]. Файл [.filename]#pkg-message# не нужно "
+"добавлять в [.filename]#pkg-plist#."
+
+#. type: Title ===
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5391
+#, no-wrap
+msgid "Subdirectories Under `PREFIX`"
+msgstr "Подкаталоги в `PREFIX`"
+
+#. type: Plain text
+#: 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 ""
+"Попробуйте сделать так, чтобы порт размещал файлы в правильных подкаталогах "
+"`PREFIX`. Некоторые порты собирают всё в кучу и помещают в подкаталог с "
+"именем порта, что неверно. Также многие порты размещают все файлы, кроме "
+"бинарников, заголовочных файлов и страниц руководства, в подкаталоге "
+"[.filename]#lib#, что плохо согласуется с парадигмой BSD. Многие из этих "
+"файлов должны быть перемещены в один из следующих каталогов: "
+"[.filename]#etc# (файлы настройки/конфигурации), [.filename]#libexec# "
+"(исполняемые файлы для внутреннего использования), [.filename]#sbin# "
+"(исполняемые файлы для суперпользователей/администраторов), "
+"[.filename]#info# (документация для браузера info) или [.filename]#share# "
+"(архитектурно-независимые файлы). Подробности см. в man:hier[7]; правила, "
+"действующие для [.filename]#/usr#, в основном применимы и к [.filename]#/usr/"
+"local#. Исключение составляют порты, связанные с USENET \"news\". Они могут "
+"использовать [.filename]#PREFIX/news# в качестве места назначения для своих "
+"файлов."
+
+#. type: Title ==
+#: 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 "Используйте `BINARY_ALIAS` для переименования команд вместо исправления сборки"
+
+#. type: Plain text
+#: 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 ""
+"Когда определена переменная `BINARY_ALIAS`, будут созданы символьные ссылки "
+"на указанные команды в каталоге, который будет добавлен в начало переменной "
+"`PATH`."
+
+#. type: Plain text
+#: 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:5409
+#, no-wrap
+msgid "Using `BINARY_ALIAS` to Make `gsed` Available as `sed`"
+msgstr "Использование `BINARY_ALIAS` для предоставления `gsed` в качестве `sed`"
+
+#. type: delimited block = 4
+#: 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 ""
+"Некоторые порты ожидают, что `sed` будет вести себя как GNU sed и используют "
+"возможности, которые man:sed[1] не предоставляет. GNU sed доступен в пакете "
+"package:textproc/gsed[] на FreeBSD."
+
+#. type: delimited block = 4
+#: 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 "Используйте `BINARY_ALIAS` для замены `sed` на `gsed` на время сборки:"
+
+#. type: delimited block . 4
+#: 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 ""
+"BUILD_DEPENDS=\tgsed:textproc/gsed\n"
+"...\n"
+"BINARY_ALIAS=\tsed=gsed\n"
+
+#. type: Block title
+#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5427
+#, no-wrap
+msgid "Using `BINARY_ALIAS` to Provide Aliases for Hardcoded `python3` Commands"
+msgstr "Использование `BINARY_ALIAS` для создания псевдонимов жестко заданных команд `python3`"
+
+#. type: Plain text
+#: 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 ""
+"Порт, в котором есть жёсткая ссылка на `python3` в скриптах сборки, требует "
+"его наличия в `PATH` во время сборки. Используйте `BINARY_ALIAS` для "
+"создания псевдонима, указывающего на нужный бинарный файл Python 3:"
+
+#. type: delimited block . 4
+#: 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 ""
+"USES=\tpython:3.4+,build\n"
+"...\n"
+"BINARY_ALIAS=\tpython3=${PYTHON_CMD}\n"
+
+#. type: Plain text
+#: 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 ""
+"См. crossref:special[using-python,Использование Python] для получения "
+"дополнительной информации о `USES=python`."
+
+#. type: Plain text
+#: 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 ""
+"Бинарные псевдонимы создаются после обработки зависимостей, указанных через "
+"`BUILD_DEPENDS` и `LIB_DEPENDS`, но до цели `configure`. Это приводит к "
+"различным ограничениям. Например, программы, установленные через "
+"`TEST_DEPENDS`, нельзя использовать для создания бинарного псевдонима, так "
+"как тестовые зависимости, указанные таким образом, обрабатываются после "
+"создания бинарных псевдонимов."