Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-doc
Path: blob/main/documentation/content/ru/books/porters-handbook/makefiles/_index.po
18099 views
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR The FreeBSD Project
# This file is distributed under the same license as the FreeBSD Documentation package.
# Vladlen Popolitov <[email protected]>, 2025, 2026.
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
"POT-Creation-Date: 2026-02-22 15:58+0000\n"
"PO-Revision-Date: 2026-04-05 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <[email protected]>\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: 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: 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:128
#, no-wrap
msgid ""
"% pkg version -t 1.2 1.3\n"
" < <.>\n"
"% pkg version -t 1.2 1.2\n"
" = <.>\n"
"% pkg version -t 1.2 1.2.0\n"
" = <.>\n"
"% 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"
" < <.>\n"
msgstr ""
"% pkg version -t 1.2 1.3\n"
" < <.>\n"
"% pkg version -t 1.2 1.2\n"
" = <.>\n"
"% pkg version -t 1.2 1.2.0\n"
" = <.>\n"
"% 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"
" < <.>\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:4870
#, 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:1481
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1890
#, 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]#budgie#`*`"
msgstr "[.filename]#budgie#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:684
#, no-wrap
msgid "Software related to the Budgie desktop environment."
msgstr "Программное обеспечение, связанное со средой рабочего стола Budgie."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:687
#, no-wrap
msgid "[.filename]#cad#"
msgstr "[.filename]#cad#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:688
#, no-wrap
msgid "Computer aided design tools."
msgstr "Компьютерные средства автоматизированного проектирования."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:691
#, no-wrap
msgid "[.filename]#chinese#"
msgstr "[.filename]#chinese#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:692
#, no-wrap
msgid "Chinese language support."
msgstr "Поддержка китайского языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:695
#, no-wrap
msgid "[.filename]#comms#"
msgstr "[.filename]#comms#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:696
#, no-wrap
msgid "Communication software."
msgstr "Программное обеспечение для связи."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:698
#, no-wrap
msgid "Mostly software to talk to the serial port."
msgstr "В основном программное обеспечение для работы с последовательным портом."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:699
#, no-wrap
msgid "[.filename]#converters#"
msgstr "[.filename]#converters#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:700
#, no-wrap
msgid "Character code converters."
msgstr "Преобразователи символьных кодировок."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:703
#, no-wrap
msgid "[.filename]#databases#"
msgstr "[.filename]#databases#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:704
#, no-wrap
msgid "Databases."
msgstr "Базы данных."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:707
#, no-wrap
msgid "[.filename]#deskutils#"
msgstr "[.filename]#deskutils#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:708
#, 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:711
#, no-wrap
msgid "[.filename]#devel#"
msgstr "[.filename]#devel#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:712
#, no-wrap
msgid "Development utilities."
msgstr "Средства разработки."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:714
#, 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:715
#, no-wrap
msgid "[.filename]#dns#"
msgstr "[.filename]#dns#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:716
#, no-wrap
msgid "DNS-related software."
msgstr "Программное обеспечение, связанное с DNS."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:719
#, no-wrap
msgid "[.filename]#docs#`*`"
msgstr "[.filename]#docs#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:720
#, no-wrap
msgid "Meta-ports for FreeBSD documentation."
msgstr "Мета-порты для документации FreeBSD."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:723
#, no-wrap
msgid "[.filename]#editors#"
msgstr "[.filename]#editors#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:724
#, no-wrap
msgid "General editors."
msgstr "Общие редакторы."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:726
#, 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:727
#, no-wrap
msgid "[.filename]#education#`*`"
msgstr "[.filename]#education#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:728
#, no-wrap
msgid "Education-related software."
msgstr "Программное обеспечение для образования."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:730
#, 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:731
#, no-wrap
msgid "[.filename]#elisp#`*`"
msgstr "[.filename]#elisp#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:732
#, no-wrap
msgid "Emacs-lisp ports."
msgstr "Порты Emacs-lisp."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:735
#, no-wrap
msgid "[.filename]#emulators#"
msgstr "[.filename]#emulators#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:736
#, no-wrap
msgid "Emulators for other operating systems."
msgstr "Эмуляторы других операционных систем."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:738
#, 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:739
#, no-wrap
msgid "[.filename]#enlightenment#`*`"
msgstr "[.filename]#enlightenment#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:740
#, no-wrap
msgid "Ports related to the Enlightenment window manager."
msgstr "Порты, связанные с оконным менеджером Enlightenment."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:743
#, no-wrap
msgid "[.filename]#filesystems#"
msgstr "[.filename]#filesystems#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:744
#, no-wrap
msgid "File systems and related utilities."
msgstr "Файловые системы и связанные утилиты."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:747
#, no-wrap
msgid "[.filename]#finance#"
msgstr "[.filename]#finance#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:748
#, no-wrap
msgid "Monetary, financial and related applications."
msgstr "Монетарные, финансовые и связанные с ними приложения."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:751
#, no-wrap
msgid "[.filename]#french#"
msgstr "[.filename]#french#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:752
#, no-wrap
msgid "French language support."
msgstr "Поддержка французского языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:755
#, no-wrap
msgid "[.filename]#ftp#"
msgstr "[.filename]#ftp#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:756
#, no-wrap
msgid "FTP client and server utilities."
msgstr "Клиентские и серверные утилиты FTP."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:758
#, 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:759
#, no-wrap
msgid "[.filename]#games#"
msgstr "[.filename]#games#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:760
#, no-wrap
msgid "Games."
msgstr "Игры."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:763
#, no-wrap
msgid "[.filename]#geography#`*`"
msgstr "[.filename]#география#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:764
#, no-wrap
msgid "Geography-related software."
msgstr "Программное обеспечение, связанное с географией."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:767
#, no-wrap
msgid "[.filename]#german#"
msgstr "[.filename]#german#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:768
#, no-wrap
msgid "German language support."
msgstr "Поддержка немецкого языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:771
#, no-wrap
msgid "[.filename]#gnome#`*`"
msgstr "[.filename]#gnome#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:772
#, 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:775
#, no-wrap
msgid "[.filename]#gnustep#`*`"
msgstr "[.filename]#gnustep#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:776
#, no-wrap
msgid "Software related to the GNUstep desktop environment."
msgstr "Программное обеспечение, связанное со средой рабочего стола GNUstep."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:779
#, no-wrap
msgid "[.filename]#graphics#"
msgstr "[.filename]#graphics#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:780
#, no-wrap
msgid "Graphics utilities."
msgstr "Графические утилиты."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:783
#, no-wrap
msgid "[.filename]#hamradio#`*`"
msgstr "[.filename]#hamradio#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:784
#, no-wrap
msgid "Software for amateur radio."
msgstr "Программное обеспечение для радиолюбителей."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:787
#, no-wrap
msgid "[.filename]#haskell#`*`"
msgstr "[.filename]#haskell#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:788
#, no-wrap
msgid "Software related to the Haskell language."
msgstr "Программное обеспечение, связанное с языком Haskell."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:791
#, no-wrap
msgid "[.filename]#hebrew#"
msgstr "[.filename]#hebrew#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:792
#, no-wrap
msgid "Hebrew language support."
msgstr "Поддержка иврита."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:795
#, no-wrap
msgid "[.filename]#hungarian#"
msgstr "[.filename]#hungarian#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:796
#, no-wrap
msgid "Hungarian language support."
msgstr "Венгерская языковая поддержка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:799
#, no-wrap
msgid "[.filename]#irc#"
msgstr "[.filename]#irc#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:800
#, no-wrap
msgid "Internet Relay Chat utilities."
msgstr "Утилиты Internet Relay Chat."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:803
#, no-wrap
msgid "[.filename]#japanese#"
msgstr "[.filename]#japanese#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:804
#, no-wrap
msgid "Japanese language support."
msgstr "Поддержка японского языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:807
#, no-wrap
msgid "[.filename]#java#"
msgstr "[.filename]#java#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:808
#, no-wrap
msgid "Software related to the Java(TM) language."
msgstr "Программное обеспечение, связанное с языком Java(TM)."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:810
#, 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:811
#, no-wrap
msgid "[.filename]#kde#`*`"
msgstr "[.filename]#kde#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:812
#, 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:815
#, no-wrap
msgid "[.filename]#kde-applications#`*`"
msgstr "[.filename]#kde-приложения#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:816
#, 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:819
#, no-wrap
msgid "[.filename]#kde-frameworks#`*`"
msgstr "[.filename]#kde-frameworks#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:820
#, 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:823
#, no-wrap
msgid "[.filename]#kde-plasma#`*`"
msgstr "[.filename]#kde-plasma#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:824
#, 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:827
#, no-wrap
msgid "[.filename]#kld#`*`"
msgstr "[.filename]#kld#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:828
#, no-wrap
msgid "Kernel loadable modules."
msgstr "Загружаемые модули ядра."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:831
#, no-wrap
msgid "[.filename]#korean#"
msgstr "[.filename]#korean#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:832
#, no-wrap
msgid "Korean language support."
msgstr "Поддержка корейского языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:835
#, no-wrap
msgid "[.filename]#lang#"
msgstr "[.filename]#lang#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:836
#, no-wrap
msgid "Programming languages."
msgstr "Языки программирования."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:839
#, no-wrap
msgid "[.filename]#linux#`*`"
msgstr "[.filename]#linux#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:840
#, no-wrap
msgid "Linux applications and support utilities."
msgstr "Приложения и вспомогательные утилиты Linux."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:843
#, no-wrap
msgid "[.filename]#lisp#`*`"
msgstr "[.filename]#lisp#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:844
#, no-wrap
msgid "Software related to the Lisp language."
msgstr "Программное обеспечение, связанное с языком Lisp."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:847
#, no-wrap
msgid "[.filename]#mail#"
msgstr "[.filename]#mail#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:848
#, no-wrap
msgid "Mail software."
msgstr "Почтовое программное обеспечение."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:851
#, no-wrap
msgid "[.filename]#mate#`*`"
msgstr "[.filename]#mate#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:852
#, 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:855
#, no-wrap
msgid "[.filename]#math#"
msgstr "[.filename]#math#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:856
#, no-wrap
msgid "Numerical computation software and other utilities for mathematics."
msgstr "Численные расчеты и другие математические утилиты."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:859
#, no-wrap
msgid "[.filename]#mbone#`*`"
msgstr "[.filename]#mbone#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:860
#, no-wrap
msgid "MBone applications."
msgstr "Приложения MBone."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:863
#, no-wrap
msgid "[.filename]#misc#"
msgstr "[.filename]#misc#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:864
#, no-wrap
msgid "Miscellaneous utilities"
msgstr "Различные утилиты"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:866
#, 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:867
#, no-wrap
msgid "[.filename]#multimedia#"
msgstr "[.filename]#multimedia#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:868
#, no-wrap
msgid "Multimedia software."
msgstr "Мультимедийное программное обеспечение."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:871
#, no-wrap
msgid "[.filename]#net#"
msgstr "[.filename]#net#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:872
#, no-wrap
msgid "Miscellaneous networking software."
msgstr "Различное сетевое программное обеспечение."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:875
#, no-wrap
msgid "[.filename]#net-im#"
msgstr "[.filename]#net-im#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:876
#, no-wrap
msgid "Instant messaging software."
msgstr "Программное обеспечение для обмена мгновенными сообщениями."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:879
#, no-wrap
msgid "[.filename]#net-mgmt#"
msgstr "[.filename]#net-mgmt#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:880
#, no-wrap
msgid "Networking management software."
msgstr "Программное обеспечение для управления сетями."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:883
#, no-wrap
msgid "[.filename]#net-p2p#"
msgstr "[.filename]#net-p2p#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:884
#, no-wrap
msgid "Peer to peer network applications."
msgstr "Одноранговые сетевые приложения."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:887
#, no-wrap
msgid "[.filename]#net-vpn#`*`"
msgstr "[.filename]#сеть-vpn#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:888
#, no-wrap
msgid "Virtual Private Network applications."
msgstr "Виртуальные частные сети."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:891
#, no-wrap
msgid "[.filename]#news#"
msgstr "[.filename]#news#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:892
#, no-wrap
msgid "USENET news software."
msgstr "Программное обеспечение для USENET-новостей."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:895
#, no-wrap
msgid "[.filename]#parallel#`*`"
msgstr "[.filename]#parallel#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:896
#, no-wrap
msgid "Applications dealing with parallelism in computing."
msgstr "Приложения, работающие с параллелизмом в вычислениях."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:899
#, no-wrap
msgid "[.filename]#pear#`*`"
msgstr "[.filename]#pear#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:900
#, no-wrap
msgid "Ports related to the Pear PHP framework."
msgstr "Порты, связанные с PHP-фреймворком Pear."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:903
#, no-wrap
msgid "[.filename]#perl5#`*`"
msgstr "[.filename]#perl5#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:904
#, 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:907
#, no-wrap
msgid "[.filename]#plan9#`*`"
msgstr "[.filename]#plan9#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:908
#, 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:911
#, no-wrap
msgid "[.filename]#polish#"
msgstr "[.filename]#polish#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:912
#, no-wrap
msgid "Polish language support."
msgstr "Поддержка польского языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:915
#, no-wrap
msgid "[.filename]#ports-mgmt#"
msgstr "[.filename]#ports-mgmt#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:916
#, 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:919
#, no-wrap
msgid "[.filename]#portuguese#"
msgstr "[.filename]#portuguese#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:920
#, no-wrap
msgid "Portuguese language support."
msgstr "Поддержка португальского языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:923
#, no-wrap
msgid "[.filename]#print#"
msgstr "[.filename]#print#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:924
#, no-wrap
msgid "Printing software."
msgstr "Программное обеспечение для печати."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:926
#, no-wrap
msgid "Desktop publishing tools (previewers, etc.) belong here too."
msgstr "Инструменты для настольных издательских систем (превьюеры и т. д.) также относятся сюда."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:927
#, no-wrap
msgid "[.filename]#python#`*`"
msgstr "[.filename]#python#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:928
#, 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:931
#, no-wrap
msgid "[.filename]#ruby#`*`"
msgstr "[.filename]#ruby#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:932
#, 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:935
#, no-wrap
msgid "[.filename]#rubygems#`*`"
msgstr "[.filename]#rubygems#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:936
#, 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:939
#, no-wrap
msgid "[.filename]#russian#"
msgstr "[.filename]#russian#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:940
#, no-wrap
msgid "Russian language support."
msgstr "Поддержка русского языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:943
#, no-wrap
msgid "[.filename]#scheme#`*`"
msgstr "[.filename]#scheme#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:944
#, no-wrap
msgid "Software related to the Scheme language."
msgstr "Программное обеспечение, связанное с языком Scheme."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:947
#, no-wrap
msgid "[.filename]#science#"
msgstr "[.filename]#science#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:948
#, 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:951
#, no-wrap
msgid "[.filename]#security#"
msgstr "[.filename]#security#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:952
#, no-wrap
msgid "Security utilities."
msgstr "Средства обеспечения безопасности."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:955
#, no-wrap
msgid "[.filename]#shells#"
msgstr "[.filename]#shells#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:956
#, no-wrap
msgid "Command line shells."
msgstr "Командные оболочки."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:959
#, no-wrap
msgid "[.filename]#spanish#`*`"
msgstr "[.filename]#spanish#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:960
#, no-wrap
msgid "Spanish language support."
msgstr "Поддержка испанского языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:963
#, no-wrap
msgid "[.filename]#sysutils#"
msgstr "[.filename]#sysutils#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:964
#, no-wrap
msgid "System utilities."
msgstr "Системные утилиты."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:967
#, no-wrap
msgid "[.filename]#tcl#`*`"
msgstr "[.filename]#tcl#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:968
#, no-wrap
msgid "Ports that use Tcl to run."
msgstr "Порты, использующие Tcl для запуска."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:971
#, no-wrap
msgid "[.filename]#textproc#"
msgstr "[.filename]#textproc#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:972
#, no-wrap
msgid "Text processing utilities."
msgstr "Средства обработки текста."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:974
#, 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:975
#, no-wrap
msgid "[.filename]#tk#`*`"
msgstr "[.filename]#tk#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:976
#, no-wrap
msgid "Ports that use Tk to run."
msgstr "Порты, использующие Tk для работы."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:979
#, no-wrap
msgid "[.filename]#ukrainian#"
msgstr "[.filename]#ukrainian#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:980
#, no-wrap
msgid "Ukrainian language support."
msgstr "Поддержка украинского языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:983
#, no-wrap
msgid "[.filename]#vietnamese#"
msgstr "[.filename]#vietnamese#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:984
#, no-wrap
msgid "Vietnamese language support."
msgstr "Поддержка вьетнамского языка."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:987
#, no-wrap
msgid "[.filename]#wayland#`*`"
msgstr "[.filename]#wayland#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:988
#, no-wrap
msgid "Ports to support the Wayland display server."
msgstr "Порты для поддержки сервера дисплея Wayland."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:991
#, no-wrap
msgid "[.filename]#windowmaker#`*`"
msgstr "[.filename]#windowmaker#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:992
#, 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:995
#, no-wrap
msgid "[.filename]#www#"
msgstr "[.filename]#www#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:996
#, no-wrap
msgid "Software related to the World Wide Web."
msgstr "Программное обеспечение, связанное с Всемирной паутиной."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:998
#, no-wrap
msgid "HTML language support belongs here too."
msgstr "Поддержка языка HTML также относится сюда."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:999
#, no-wrap
msgid "[.filename]#x11#"
msgstr "[.filename]#x11#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1000
#, no-wrap
msgid "The X Window System and friends."
msgstr "Система X Window и связанные компоненты."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1002
#, 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:1003
#, no-wrap
msgid "[.filename]#x11-clocks#"
msgstr "[.filename]#x11-clocks#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1004
#, no-wrap
msgid "X11 clocks."
msgstr "Часы X11."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1007
#, no-wrap
msgid "[.filename]#x11-drivers#"
msgstr "[.filename]#x11-drivers#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1008
#, no-wrap
msgid "X11 drivers."
msgstr "Драйверы X11."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1011
#, no-wrap
msgid "[.filename]#x11-fm#"
msgstr "[.filename]#x11-fm#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1012
#, no-wrap
msgid "X11 file managers."
msgstr "Менеджеры файлов X11."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1015
#, no-wrap
msgid "[.filename]#x11-fonts#"
msgstr "[.filename]#x11-fonts#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1016
#, no-wrap
msgid "X11 fonts and font utilities."
msgstr "Шрифты и утилиты для работы со шрифтами в X11."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1019
#, no-wrap
msgid "[.filename]#x11-servers#"
msgstr "[.filename]#x11-servers#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1020
#, no-wrap
msgid "X11 servers."
msgstr "Серверы X11."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1023
#, no-wrap
msgid "[.filename]#x11-themes#"
msgstr "[.filename]#x11-themes#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1024
#, no-wrap
msgid "X11 themes."
msgstr "Темы X11."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1027
#, no-wrap
msgid "[.filename]#x11-toolkits#"
msgstr "[.filename]#x11-toolkits#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1028
#, no-wrap
msgid "X11 toolkits."
msgstr "Инструментарии X11."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1031
#, no-wrap
msgid "[.filename]#x11-wm#"
msgstr "[.filename]#x11-wm#"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1032
#, no-wrap
msgid "X11 window managers."
msgstr "Оконные менеджеры X11."

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1035
#, no-wrap
msgid "[.filename]#xfce#`*`"
msgstr "[.filename]#xfce#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1036
#, 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:1039
#, no-wrap
msgid "[.filename]#zope#`*`"
msgstr "[.filename]#zope#`*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1040
#, 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:1044
#, no-wrap
msgid "Choosing the Right Category"
msgstr "Выбор подходящей категории"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1049
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:1052
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:1053
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:1054
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:1055
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:1056
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:1057
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:1058
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:1059
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:1063
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:1065
#, no-wrap
msgid "Proposing a New Category"
msgstr "Предложение новой категории"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1070
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:1072
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:1076
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:1078
msgid "Here is the procedure:"
msgstr "Вот процедура:"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1082
msgid ""
"Propose the new category on {freebsd-ports}. Include a detailed rationale "
"for the new category, including why the existing categories are not"
msgstr ""
"Предложите новую категорию на {freebsd-ports}. Включите подробное "
"обоснование для новой категории, объясните, почему существующие категории "
"недостаточны, и укажите список существующих портов, предлагаемых к "
"перемещению."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1085
msgid ""
"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.) "
"Indicating that the updater is also the maintainer or submitter may be "
"helpful to the case."
msgstr ""
"(Если в Bugzilla есть ожидающие рассмотрения новые порты, которые подходят "
"под эту категорию, также перечислите их.) Если вы являетесь сопровождающим "
"или подающим предложение, укажите это, так как это может помочь в "
"рассмотрении."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1086
msgid "Participate in the discussion."
msgstr "Участвуйте в обсуждении."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1087
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:1089
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:1090
msgid "[.filename]#Makefile# for the new category"
msgstr "[.filename]#Makefile# для новой категории"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1091
msgid "[.filename]#Makefile# for the old ports' categories"
msgstr "[.filename]#Makefile# для старых категорий портов"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1092
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:1093
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:1095
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:1096
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:1099
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:1101
#, no-wrap
msgid "Proposing Reorganizing All the Categories"
msgstr "Предложение о реорганизации всех категорий"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1107
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:1109
#, no-wrap
msgid "The Distribution Files"
msgstr "Файлы дистрибутива"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1112
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:1114
#, no-wrap
msgid "`DISTNAME`"
msgstr "`DISTNAME`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1121
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:1124
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:1129
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:1133
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 created variable and set `DISTNAME` accordingly."
msgstr ""
"Если схема версий исходного проекта может быть преобразована в схему, "
"совместимую с портами, установите некоторую переменную в версию исходного "
"проекта, _не используйте_ имя переменной `DISTVERSION`. Установите "
"`PORTVERSION` в вычисленную версию на основе созданной переменной и задайте "
"`DISTNAME` соответствующим образом."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1135
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:1137
#, no-wrap
msgid "Deriving `PORTVERSION` Manually"
msgstr "Получение `PORTVERSION` вручную"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1143
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:1145
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:1152
#, 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:1155
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:1156
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:1158
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:1167
#, 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:1171
#, no-wrap
msgid ""
"MAINTAINER=\[email protected]\n"
"COMMENT=\tBIND DNS suite with updated DNSSEC and DNS64\n"
"WWW=\t\thttps://www.isc.org/bind/\n"
msgstr ""
"MAINTAINER=\[email protected]\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:1173
#, no-wrap
msgid "LICENSE=\tISCL\n"
msgstr "LICENSE=\tISCL\n"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1176
#, 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:1182
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:1185
#, no-wrap
msgid "Derive `DISTNAME` from `PORTVERSION`"
msgstr "Получить `DISTNAME` из `PORTVERSION`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1189
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:1191
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:1199
#, 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:1203
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:1206
#, no-wrap
msgid "Exotic Case 1"
msgstr "Экзотический случай 1"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1210
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:1212
msgid "From package:audio/libworkman[]:"
msgstr "Из пакета package:audio/libworkman[]:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1220
#, 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:1225
#, no-wrap
msgid "Exotic Case 2"
msgstr "Экзотический случай 2"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1230
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:1239
#, 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:1247
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:1250
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4900
#, no-wrap
msgid "`MASTER_SITES`"
msgstr "`MASTER_SITES`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1254
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:1256
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:1259
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:1267
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:1270
#, no-wrap
msgid "Using `MASTER_SITE_*` Variables"
msgstr "Использование переменных `MASTER_SITE_*`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1273
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:1277
#, 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:1281
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:1286
#, 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:1290
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:1295
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:1299
#, no-wrap
msgid "MASTER_SITES=\tFOO\n"
msgstr "MASTER_SITES=\tFOO\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1302
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:1306
#, 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:1313
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:1315
#, no-wrap
msgid "Shortcuts for `MASTER_SITE_*` Macros"
msgstr "Сокращения для макросов `MASTER_SITE_*`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1319
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1377
#, no-wrap
msgid "Macro"
msgstr "Макрос"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1321
#, no-wrap
msgid "Shortcut"
msgstr "Сокращение"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1322
#, no-wrap
msgid "`PERL_CPAN`"
msgstr "`PERL_CPAN`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1324
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1395
#, no-wrap
msgid "`CPAN`"
msgstr "`CPAN`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1325
#, no-wrap
msgid "`GITHUB`"
msgstr "`GITHUB`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1327
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1416
#, no-wrap
msgid "`GH`"
msgstr "`GH`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1328
#, no-wrap
msgid "`GITHUB_CLOUD`"
msgstr "`GITHUB_CLOUD`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1330
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1419
#, no-wrap
msgid "`GHC`"
msgstr "`GHC`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1331
#, no-wrap
msgid "`LIBREOFFICE_DEV`"
msgstr "`LIBREOFFICE_DEV`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1333
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1437
#, no-wrap
msgid "`LODEV`"
msgstr "`LODEV`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1334
#, no-wrap
msgid "`NETLIB`"
msgstr "`NETLIB`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1336
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1446
#, no-wrap
msgid "`NL`"
msgstr "`NL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1337
#, no-wrap
msgid "`RUBYGEMS`"
msgstr "`RUBYGEMS`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1339
#, no-wrap
msgid "`RG`"
msgstr "`RG`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1340
#, no-wrap
msgid "`SOURCEFORGE`"
msgstr "`SOURCEFORGE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1341
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1458
#, no-wrap
msgid "`SF`"
msgstr "`SF`"

#. type: Title ====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1345
#, no-wrap
msgid "Magic MASTER_SITES Macros"
msgstr "Волшебные макросы MASTER_SITES"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1350
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:1354
#, no-wrap
msgid "MASTER_SITES=\tSF\n"
msgstr "MASTER_SITES=\tSF\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1358
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:1362
#, 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:1365
msgid "This can also be written as"
msgstr "Это также можно записать как"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1370
#, 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:1373
#, no-wrap
msgid "Magic `MASTER_SITES` Macros"
msgstr "Волшебные макросы `MASTER_SITES`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1379
#, no-wrap
msgid "Assumed subdirectory"
msgstr "Предполагаемый подкаталог"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1380
#, no-wrap
msgid "`APACHE_COMMONS_BINARIES`"
msgstr "`APACHE_COMMONS_BINARIES`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1382
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1385
#, no-wrap
msgid "`${PORTNAME:S,commons-,,}`"
msgstr "`${PORTNAME:S,commons-,,}`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1383
#, no-wrap
msgid "`APACHE_COMMONS_SOURCE`"
msgstr "`APACHE_COMMONS_SOURCE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1386
#, no-wrap
msgid "`APACHE_JAKARTA`"
msgstr "`APACHE_JAKARTA`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1388
#, no-wrap
msgid "`${PORTNAME:S,-,/,}/source`"
msgstr "`${PORTNAME:S,-,/,}/source`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1389
#, no-wrap
msgid "`BERLIOS`"
msgstr "`BERLIOS`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1391
#, no-wrap
msgid "`${PORTNAME:tl}.berlios`"
msgstr "`${PORTNAME:tl}.berlios`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1392
#, no-wrap
msgid "`PYPI`"
msgstr "`PYPI`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1394
#, 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:1397
#, no-wrap
msgid "`${PORTNAME:C/-.*//}`"
msgstr "`${PORTNAME:C/-.*//}`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1398
#, no-wrap
msgid "`DEBIAN`"
msgstr "`DEBIAN`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1400
#, 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:1401
#, no-wrap
msgid "`FARSIGHT`"
msgstr "`FARSIGHT`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1403
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1427
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1430
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1433
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1436
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1439
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1448
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1454
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1487
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1491
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1900
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1904
#, no-wrap
msgid "`${PORTNAME}`"
msgstr "`${PORTNAME}`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1404
#, no-wrap
msgid "`FESTIVAL`"
msgstr "`FESTIVAL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1406
#, no-wrap
msgid "`${PORTREVISION}`"
msgstr "`${PORTREVISION}`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1407
#, no-wrap
msgid "`GCC`"
msgstr "`GCC`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1409
#, no-wrap
msgid "`releases/${DISTNAME}`"
msgstr "`releases/${DISTNAME}`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1410
#, no-wrap
msgid "`GENTOO`"
msgstr "`GENTOO`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1412
#, no-wrap
msgid "`distfiles`"
msgstr "`distfiles`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1413
#, no-wrap
msgid "`GIMP`"
msgstr "`GIMP`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1415
#, no-wrap
msgid "`${PORTNAME}/${PORTVERSION:R}/`"
msgstr "`${PORTNAME}/${PORTVERSION:R}/`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1418
#, 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:1421
#, no-wrap
msgid "`${GH_ACCOUNT}/${GH_PROJECT}/`"
msgstr "`${GH_ACCOUNT}/${GH_PROJECT}/`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1422
#, no-wrap
msgid "`GNOME`"
msgstr "`GNOME`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1424
#, 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:1425
#, no-wrap
msgid "`GNU`"
msgstr "`GNU`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1428
#, no-wrap
msgid "`GNUPG`"
msgstr "`GNUPG`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1431
#, no-wrap
msgid "`GNU_ALPHA`"
msgstr "`GNU_ALPHA`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1434
#, no-wrap
msgid "`HORDE`"
msgstr "`HORDE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1440
#, no-wrap
msgid "`MATE`"
msgstr "`MATE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1442
#, 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:1443
#, no-wrap
msgid "`MOZDEV`"
msgstr "`MOZDEV`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1445
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1457
#, no-wrap
msgid "`${PORTNAME:tl}`"
msgstr "`${PORTNAME:tl}`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1449
#, no-wrap
msgid "`QT`"
msgstr "`QT`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1451
#, no-wrap
msgid "`archive/qt/${PORTVERSION:R}`"
msgstr "`archive/qt/${PORTVERSION:R}`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1452
#, no-wrap
msgid "`SAMBA`"
msgstr "`SAMBA`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1455
#, no-wrap
msgid "`SAVANNAH`"
msgstr "`SAVANNAH`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1459
#, 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:1462
#, no-wrap
msgid "`USE_GITHUB`"
msgstr "`USE_GITHUB`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1466
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:1471
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:1474
msgid "These variables are available:"
msgstr "Доступны следующие переменные:"

#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1476
#, no-wrap
msgid "`USE_GITHUB` Description"
msgstr "`USE_GITHUB` Описание"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1480
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1889
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3684
#, no-wrap
msgid "Variable"
msgstr "Переменная"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1483
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1892
#, no-wrap
msgid "Default"
msgstr "По умолчанию"

#. 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_ACCOUNT`"
msgstr "`GH_ACCOUNT`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1485
#, 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:1488
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4883
#, no-wrap
msgid "`GH_PROJECT`"
msgstr "`GH_PROJECT`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1489
#, no-wrap
msgid "Name of the project on GitHub"
msgstr "Название проекта на GitHub"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1492
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4885
#, no-wrap
msgid "`GH_TAGNAME`"
msgstr "`GH_TAGNAME`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1493
#, 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:1495
#, no-wrap
msgid "`${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}`"
msgstr "`${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1496
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4884
#, no-wrap
msgid "`GH_SUBDIR`"
msgstr "`GH_SUBDIR`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1499
#, 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:1501
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1914
#, no-wrap
msgid "(none)"
msgstr "(отсутствует)"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1502
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4886
#, no-wrap
msgid "`GH_TUPLE`"
msgstr "`GH_TUPLE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1503
#, 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:1509
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:1512
#, no-wrap
msgid "Simple Use of `USE_GITHUB`"
msgstr "Простое использование `USE_GITHUB`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1517
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:1522
#, 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:1525
#, 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:1528
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:1531
#, no-wrap
msgid "More Complete Use of `USE_GITHUB`"
msgstr "Более полное использование `USE_GITHUB`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1535
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:1540
#, 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:1545
#, 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:1548
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:1552
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:1557
#, 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:1563
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:1569
#, 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:1571
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1635
#, no-wrap
msgid "USE_GITHUB=\tyes\n"
msgstr "USE_GITHUB=\tyes\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1574
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:1577
#, 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:1582
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:1587
#, 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:1590
#, 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:1594
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:1599
#, 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:1602
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:1605
#, 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:1609
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:1614
#, 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:1617
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:1618
#, no-wrap
msgid "`v0.7.3`"
msgstr "`v0.7.3`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1620
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:1621
#, no-wrap
msgid "`-14`"
msgstr "`-14`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1623
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:1624
#, no-wrap
msgid "`-gf0038b1`"
msgstr "`-gf0038b1`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1626
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:1633
#, 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:1639
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:1646
#, 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:1652
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:1657
#, 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:1660
#, 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:1667
#, no-wrap
msgid "Fetching Multiple Files from GitHub"
msgstr "Извлечение нескольких файлов из GitHub"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1671
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:1677
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:1680
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:1683
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1987
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:1688
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1992
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:1695
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1999
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:1699
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:1703
#, 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:1708
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:1712
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2018
#, 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:1717
#, 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:1723
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:1728
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1774
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2034
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2080
#, 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:1734
#, 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:1736
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1780
#, 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:1743
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:1749
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:1753
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:1758
#, 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:1763
#, 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:1769
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:1778
#, 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:1784
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:1787
#, 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:1792
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:1795
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:1800
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:1816
#, 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:1820
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:1849
#, 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:1853
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:1859
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:1862
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:1868
#, 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:1875
#, 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:1880
#, no-wrap
msgid "`USE_GITLAB`"
msgstr "`USE_GITLAB`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1883
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:1885
#, no-wrap
msgid "`USE_GITLAB` Description"
msgstr "Описание `USE_GITLAB`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1893
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4890
#, no-wrap
msgid "`GL_SITE`"
msgstr "`GL_SITE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1894
#, no-wrap
msgid "Site name hosting the GitLab project"
msgstr "Название сайта, на котором размещен проект GitLab"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1896
#, no-wrap
msgid "https://gitlab.com/"
msgstr "https://gitlab.com/"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1897
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4887
#, no-wrap
msgid "`GL_ACCOUNT`"
msgstr "`GL_ACCOUNT`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1898
#, 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:1901
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4889
#, no-wrap
msgid "`GL_PROJECT`"
msgstr "`GL_PROJECT`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1902
#, no-wrap
msgid "Name of the project on GitLab"
msgstr "Название проекта на GitLab"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1905
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4888
#, no-wrap
msgid "`GL_COMMIT`"
msgstr "`GL_COMMIT`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1906
#, 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:1908
#, no-wrap
msgid "`(none)`"
msgstr "`(нет)`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1909
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4891
#, no-wrap
msgid "`GL_SUBDIR`"
msgstr "`GL_SUBDIR`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1912
#, 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:1915
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4892
#, no-wrap
msgid "`GL_TUPLE`"
msgstr "`GL_TUPLE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1916
#, 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:1920
#, no-wrap
msgid "Simple Use of `USE_GITLAB`"
msgstr "Простое использование `USE_GITLAB`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1924
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:1929
#, 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:1933
#, 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:1936
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:1939
#, no-wrap
msgid "More Complete Use of `USE_GITLAB`"
msgstr "Более полное использование `USE_GITLAB`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1944
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:1949
#, 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:1955
#, 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:1958
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:1962
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:1967
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:1972
#, no-wrap
msgid "Fetching Multiple Files from GitLab"
msgstr "Извлечение нескольких файлов из GitLab"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:1977
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:1981
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:1984
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:2003
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:2007
#, 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:2014
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:2023
#, 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:2029
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:2041
#, 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:2043
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2087
#, 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:2050
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:2056
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:2060
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:2065
#, 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:2070
#, 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:2075
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:2085
#, 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:2091
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:2094
#, no-wrap
msgid "`EXTRACT_SUFX`"
msgstr "`EXTRACT_SUFX`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2097
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:2099
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:2104
#, 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:2108
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:2112
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:2115
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4879
#, no-wrap
msgid "`DISTFILES`"
msgstr "`DISTFILES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2120
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:2122
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:2126
#, 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:2129
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:2131
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4880
#, no-wrap
msgid "`EXTRACT_ONLY`"
msgstr "`EXTRACT_ONLY`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2134
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:2139
#, 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:2142
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:2146
#, no-wrap
msgid "EXTRACT_ONLY=\n"
msgstr "EXTRACT_ONLY=\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2149
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4901
#, no-wrap
msgid "`PATCHFILES`"
msgstr "`PATCHFILES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2152
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:2155
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:2157
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:2163
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:2167
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:2171
#, 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:2174
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:2178
#, 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:2186
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:2189
#, 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:2192
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:2195
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:2200
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:2204
#, 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:2207
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:2209
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:2212
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:2215
msgid ""
"Once the concept is clear, 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:2218
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:2223
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:2226
#, no-wrap
msgid "Simplified Information"
msgstr "Упрощенная информация"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2233
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:2237
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:2240
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:2244
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:2246
#, 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:2256
#, 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:2264
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:2266
#, 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:2277
#, 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:2282
#, no-wrap
msgid "Detailed Information"
msgstr "Подробная информация"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2285
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:2287
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:2289
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:2295
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:2296
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:2301
msgid ""
"[[porting-master-sites-n-DEFAULT-group]] 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 ""
"[[porting-master-sites-n-DEFAULT-group]] Элементы без постфикса не "
"принадлежат к группам, все они относятся к специальной группе `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:2303
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:2307
#, 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:2312
#, 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:2315
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:2317
msgid ""
"[[porting-master-sites-n-comma-operator]] When an element belongs to several "
"groups at the same time, use the comma operator (`,`)."
msgstr ""
"[[porting-master-sites-n-comma-operator]] Когда элемент принадлежит "
"нескольким группам одновременно, используйте оператор запятую (`,`)."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2320
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:2322
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:2326
#, 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:2331
#, 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:2336
#, 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:2341
#, 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:2344
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:2346
msgid ""
"[[porting-master-sites-n-group-semantics]] 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 ""
"[[porting-master-sites-n-group-semantics]] Семантика групп может "
"использоваться в любых переменных `MASTER_SITES`, `PATCH_SITES`, "
"`MASTER_SITE_SUBDIR`, `PATCH_SITE_SUBDIR`, `DISTFILES` и `PATCHFILES` "
"согласно следующему синтаксису:"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2360
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:2362
#, 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:2369
#, 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:2372
msgid "Directories within group `DEFAULT` -> old:n"
msgstr "Каталоги в группе `DEFAULT` -> old:n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2373
msgid "Directories within group `NEW` -> new"
msgstr "Каталоги в группе `NEW` -> new"

#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2377
#, 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:2395
#, 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:2399
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:2401
msgid "[.filename]#file1# will be fetched from"
msgstr "[.filename]#file1# будет загружен из"

#. 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:2423
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2429
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2439
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2444
msgid "`MASTER_SITE_OVERRIDE`"
msgstr "`MASTER_SITE_OVERRIDE`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2404
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2414
msgid "http://site1/directory-trial:1/"
msgstr "http://site1/directory-trial:1/"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2405
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2415
msgid "http://site1/directory-one/"
msgstr "http://site1/directory-one/"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2406
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2416
msgid "http://site1/directory/"
msgstr "http://site1/directory/"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2407
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2417
msgid "http://site2/"
msgstr "http://site2/"

#. type: Plain text
#: 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:2433
msgid "http://site7/"
msgstr "http://site7/"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2409
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2419
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2425
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2435
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2440
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2446
msgid "`MASTER_SITE_BACKUP`"
msgstr "`MASTER_SITE_BACKUP`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2411
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:2421
msgid "[.filename]#file3# will be fetched from"
msgstr "[.filename]#file3# будет загружен из"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2424
msgid "http://site3/"
msgstr "http://site3/"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2427
msgid "[.filename]#file4# will be fetched from"
msgstr "[.filename]#file4# будет загружен из"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2430
msgid "http://site4/"
msgstr "http://site4/"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2431
msgid "http://site5/"
msgstr "http://site5/"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2432
msgid "http://site6/"
msgstr "http://site6/"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2434
msgid "http://site8/directory-one/"
msgstr "http://site8/directory-one/"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2437
msgid "[.filename]#file5# will be fetched from"
msgstr "[.filename]#file5# будет загружен из"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2442
msgid "[.filename]#file6# will be fetched from"
msgstr "[.filename]#file6# будет получен из"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2445
msgid "http://site8/"
msgstr "http://site8/"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2450
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:2454
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:2456
#, 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:2464
#, 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:2467
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:2469
msgid "How do I use this with `PATCH*`?"
msgstr "Как использовать это с `PATCH*`?"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2473
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:2475
#, 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:2483
#, 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:2488
#, 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:2495
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:2497
msgid ""
"[[porting-master-sites-n-what-changes-in-port-targets]] 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 ""
"[[porting-master-sites-n-what-changes-in-port-targets]] Порты сохраняют те "
"же цели: `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:2503
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:2504
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:2505
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:2510
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:2512
msgid "New port targets"
msgstr "Новые цели портов"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2513
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:2515
msgid ""
"[[porting-master-sites-n-new-port-targets-master-sites-all]] 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 ""
"[[porting-master-sites-n-new-port-targets-master-sites-all]] Существуют "
"новые цели `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:2517
#, no-wrap
msgid "`DIST_SUBDIR`"
msgstr "`DIST_SUBDIR`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2522
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:2524
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:2528
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:2531
#, no-wrap
msgid "`MAINTAINER`"
msgstr "`MAINTAINER`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2534
msgid "Set the mail-address here. Please. _:-)_"
msgstr "Установите здесь свой адрес электронной почты. Пожалуйста. _:-)_"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2539
msgid ""
"Only a single address without the comment part is allowed as a `MAINTAINER` "
"value.  The format used is `[email protected]`.  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`. Используемый формат: `[email protected]`. Пожалуйста, не "
"включайте в эту запись описательный текст, например, настоящее имя. Это "
"только вносит путаницу в инфраструктуру Ports и большинство инструментов, "
"которые её используют."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2542
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:2551
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:2554
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:2557
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:2564
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:2568
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:2570
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:2572
#, no-wrap
msgid "`COMMENT`"
msgstr "`COMMENT`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2576
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:2578
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:2579
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:2580
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:2581
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:2582
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:2583
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:2584
msgid "Check for spelling errors."
msgstr "Проверяйте на наличие орфографических ошибок."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2586
msgid "Here is an example:"
msgstr "Вот пример:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2590
#, 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:2593
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:2595
#, no-wrap
msgid "Project website"
msgstr "Веб-сайт проекта"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2598
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:2600
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:2604
#, 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:2607
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:2611
#, 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:2614
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:2617
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:2621
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:2623
#, no-wrap
msgid "Licenses"
msgstr "Лицензии"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2627
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:2629
#, no-wrap
msgid "`LICENSE`"
msgstr "`LICENSE`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2632
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:2634
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:2638
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:2641
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:2643
#, no-wrap
msgid "Simplest Usage, Predefined Licenses"
msgstr "Простейшее использование, предопределённые лицензии"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2648
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:2652
#, no-wrap
msgid "LICENSE=\tLGPL21+\n"
msgstr "LICENSE=\tLGPL21+\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2655
msgid "When the software provides the license file, use this:"
msgstr ""
"Когда программное обеспечение предоставляет файл лицензии, используйте это:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2660
#, 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:2665
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:2667
#, no-wrap
msgid "Predefined License List"
msgstr "Предопределённый список лицензий"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2671
#, no-wrap
msgid "Short Name"
msgstr "Короткое имя"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2672
#, no-wrap
msgid "Name"
msgstr "Имя"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2673
#, no-wrap
msgid "Group"
msgstr "Группа"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2675
#, no-wrap
msgid "Permissions"
msgstr "Разрешения"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2676
#, no-wrap
msgid "`AGPLv3`"
msgstr "`AGPLv3`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2677
#, 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:2678
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2683
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2708
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2908
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2923
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2928
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2933
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2938
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2943
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2948
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2953
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2958
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2963
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2973
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2978
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2983
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2988
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2993
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2998
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3108
#, no-wrap
msgid "`FSF GPL OSI`"
msgstr "`FSF GPL OSI`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2680
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2685
#: 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:2700
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2705
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2710
#: 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:2730
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2735
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2740
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2745
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2750
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2755
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2760
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2765
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2845
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2850
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2855
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2860
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2865
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2870
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2875
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2880
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2885
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2890
#: 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:2905
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2910
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2915
#: 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:2965
#: 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:3000
#: 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:3055
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3060
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3070
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3075
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3080
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3085
#: 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
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3105
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3110
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3115
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3120
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3125
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3130
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3135
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3140
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3144
#, no-wrap
msgid "(default)"
msgstr "(по умолчанию)"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2681
#, no-wrap
msgid "`AGPLv3+`"
msgstr "`AGPLv3+`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2682
#, 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:2686
#, no-wrap
msgid "`APACHE10`"
msgstr "`APACHE10`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2687
#, no-wrap
msgid "Apache License 1.0"
msgstr "Apache License 1.0"

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2688
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2733
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2918
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3083
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3118
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3267
#, no-wrap
msgid "`FSF`"
msgstr "`FSF`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2691
#, no-wrap
msgid "`APACHE11`"
msgstr "`APACHE11`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2692
#, no-wrap
msgid "Apache License 1.1"
msgstr "Apache License 1.1"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2693
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2698
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2898
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2903
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2913
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3003
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3008
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3013
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3018
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3023
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3028
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3033
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3043
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3048
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3053
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3093
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3098
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3103
#, no-wrap
msgid "`FSF OSI`"
msgstr "`FSF OSI`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2696
#, no-wrap
msgid "`APACHE20`"
msgstr "`APACHE20`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2697
#, no-wrap
msgid "Apache License 2.0"
msgstr "Apache License 2.0"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2701
#, no-wrap
msgid "`ART10`"
msgstr "`ART10`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2702
#, no-wrap
msgid "Artistic License version 1.0"
msgstr "Художественная лицензия версия 1.0"

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2703
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2713
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3275
#, no-wrap
msgid "`OSI`"
msgstr "`OSI`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2706
#, no-wrap
msgid "`ART20`"
msgstr "`ART20`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2707
#, no-wrap
msgid "Artistic License version 2.0"
msgstr "Художественная лицензия версии 2.0"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2711
#, no-wrap
msgid "`ARTPERL10`"
msgstr "`ARTPERL10`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2712
#, no-wrap
msgid "Artistic License (perl) version 1.0"
msgstr "Художественная лицензия (perl) версия 1.0"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2716
#, no-wrap
msgid "`BSD`"
msgstr "`BSD`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2717
#, no-wrap
msgid "BSD license Generic Version (deprecated)"
msgstr "Лицензия BSD, общая версия (устарела)"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2718
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2723
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2728
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2738
#, no-wrap
msgid "`FSF OSI COPYFREE`"
msgstr "`FSF OSI COPYFREE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2721
#, no-wrap
msgid "`BSD2CLAUSE`"
msgstr "`BSD2CLAUSE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2722
#, no-wrap
msgid "BSD 2-clause \"Simplified\" License"
msgstr "BSD 2-пунктная лицензия \"Упрощенная\""

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2726
#, no-wrap
msgid "`BSD3CLAUSE`"
msgstr "`BSD3CLAUSE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2727
#, no-wrap
msgid "BSD 3-clause \"New\" or \"Revised\" License"
msgstr "BSD 3-пунктная лицензия \"Новая\" или \"Пересмотренная\""

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2731
#, no-wrap
msgid "`BSD4CLAUSE`"
msgstr "`BSD4CLAUSE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2732
#, no-wrap
msgid "BSD 4-clause \"Original\" or \"Old\" License"
msgstr "BSD 4-пунктная лицензия \"Оригинальная\" или \"Старая\""

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2736
#, no-wrap
msgid "`BSL`"
msgstr "`BSL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2737
#, no-wrap
msgid "Boost Software License"
msgstr "Лицензия программного обеспечения Boost"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2741
#, no-wrap
msgid "`CC-BY-1.0`"
msgstr "`CC-BY-1.0`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2742
#, no-wrap
msgid "Creative Commons Attribution 1.0"
msgstr "Creative Commons с указанием авторства 1.0"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2746
#, no-wrap
msgid "`CC-BY-2.0`"
msgstr "`CC-BY-2.0`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2747
#, no-wrap
msgid "Creative Commons Attribution 2.0"
msgstr "Creative Commons с указанием авторства 2.0"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2751
#, no-wrap
msgid "`CC-BY-2.5`"
msgstr "`CC-BY-2.5`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2752
#, no-wrap
msgid "Creative Commons Attribution 2.5"
msgstr "Creative Commons с указанием авторства 2.5"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2756
#, no-wrap
msgid "`CC-BY-3.0`"
msgstr "`CC-BY-3.0`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2757
#, no-wrap
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons с указанием авторства 3.0"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2761
#, no-wrap
msgid "`CC-BY-4.0`"
msgstr "`CC-BY-4.0`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2762
#, no-wrap
msgid "Creative Commons Attribution 4.0"
msgstr "Creative Commons с указанием авторства 4.0"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2766
#, 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:2767
#, 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:2770
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2775
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2780
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2785
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2790
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2795
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2800
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2805
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2810
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2815
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2820
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2825
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2830
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2835
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2840
#, 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:2771
#, 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:2772
#, 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:2776
#, 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:2777
#, 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:2781
#, 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:2782
#, 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:2786
#, 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:2787
#, 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:2791
#, 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:2792
#, 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:2796
#, 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:2797
#, 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:2801
#, 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:2802
#, 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:2806
#, 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:2807
#, 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:2811
#, 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:2812
#, 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:2816
#, 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:2817
#, 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:2821
#, 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:2822
#, 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:2826
#, 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:2827
#, 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:2831
#, 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:2832
#, 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:2836
#, 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:2837
#, 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:2841
#, 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:2842
#, 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:2846
#, 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:2847
#, 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:2851
#, 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:2852
#, 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:2856
#, 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:2857
#, 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:2861
#, 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:2862
#, 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:2866
#, 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:2867
#, 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:2871
#, 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:2872
#, 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:2876
#, 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:2877
#, 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:2881
#, 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:2882
#, 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:2886
#, 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:2887
#, 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:2891
#, no-wrap
msgid "`CC0-1.0`"
msgstr "`CC0-1.0`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2892
#, 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:2893
#, no-wrap
msgid "`FSF GPL COPYFREE`"
msgstr "`FSF GPL COPYFREE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2896
#, no-wrap
msgid "`CDDL`"
msgstr "`CDDL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2897
#, no-wrap
msgid "Common Development and Distribution License"
msgstr "Лицензия на совместную разработку и распространение"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2901
#, no-wrap
msgid "`CPAL-1.0`"
msgstr "`CPAL-1.0`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2902
#, no-wrap
msgid "Common Public Attribution License"
msgstr "Публичная лицензия общего распространения с указанием авторства"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2906
#, no-wrap
msgid "`ClArtistic`"
msgstr "`ClArtistic`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2907
#, no-wrap
msgid "Clarified Artistic License"
msgstr "Уточнённая художественная лицензия"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2911
#, no-wrap
msgid "`EPL`"
msgstr "`EPL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2912
#, no-wrap
msgid "Eclipse Public License"
msgstr "Публичная лицензия Eclipse"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2916
#, no-wrap
msgid "`GFDL`"
msgstr "`GFDL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2917
#, no-wrap
msgid "GNU Free Documentation License"
msgstr "GNU Свободная лицензия на документацию"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2921
#, no-wrap
msgid "`GMGPL`"
msgstr "`GMGPL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2922
#, no-wrap
msgid "GNAT Modified General Public License"
msgstr "Модифицированная Общедоступная лицензия GNAT"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2926
#, no-wrap
msgid "`GPLv1`"
msgstr "`GPLv1`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2927
#, no-wrap
msgid "GNU General Public License version 1"
msgstr "Универсальная общественная лицензия GNU версии 1"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2931
#, no-wrap
msgid "`GPLv1+`"
msgstr "`GPLv1+`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2932
#, 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:2936
#, no-wrap
msgid "`GPLv2`"
msgstr "`GPLv2`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2937
#, no-wrap
msgid "GNU General Public License version 2"
msgstr "Универсальная общественная лицензия GNU версии 2"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2941
#, no-wrap
msgid "`GPLv2+`"
msgstr "`GPLv2+`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2942
#, 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:2946
#, no-wrap
msgid "`GPLv3`"
msgstr "`GPLv3`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2947
#, no-wrap
msgid "GNU General Public License version 3"
msgstr "Универсальная общественная лицензия GNU версии 3"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2951
#, no-wrap
msgid "`GPLv3+`"
msgstr "`GPLv3+`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2952
#, 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:2956
#, no-wrap
msgid "`GPLv3RLE`"
msgstr "`GPLv3RLE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2957
#, 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:2961
#, no-wrap
msgid "`GPLv3RLE+`"
msgstr "`GPLv3RLE+`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2962
#, 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:2966
#, no-wrap
msgid "`ISCL`"
msgstr "`ISCL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2967
#, no-wrap
msgid "Internet Systems Consortium License"
msgstr "Лицензия Internet Systems Consortium"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2968
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3113
#, no-wrap
msgid "`FSF GPL OSI COPYFREE`"
msgstr "`FSF GPL OSI COPYFREE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2971
#, no-wrap
msgid "`LGPL20`"
msgstr "`LGPL20`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2972
#, 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:2976
#, no-wrap
msgid "`LGPL20+`"
msgstr "`LGPL20+`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2977
#, 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:2981
#, no-wrap
msgid "`LGPL21`"
msgstr "`LGPL21`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2982
#, 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:2986
#, no-wrap
msgid "`LGPL21+`"
msgstr "`LGPL21+`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2987
#, 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:2991
#, no-wrap
msgid "`LGPL3`"
msgstr "`LGPL3`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2992
#, no-wrap
msgid "GNU Lesser General Public License version 3"
msgstr "Универсальная общественная лицензия GNU ограниченного применения, версия 3"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2996
#, no-wrap
msgid "`LGPL3+`"
msgstr "`LGPL3+`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:2997
#, 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:3001
#, no-wrap
msgid "`LPPL10`"
msgstr "`LPPL10`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3002
#, 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: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:3035
#, no-wrap
msgid "`dist-mirror dist-sell`"
msgstr "`dist-mirror dist-sell`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3006
#, no-wrap
msgid "`LPPL11`"
msgstr "`LPPL11`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3007
#, 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:3011
#, no-wrap
msgid "`LPPL12`"
msgstr "`LPPL12`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3012
#, 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:3016
#, no-wrap
msgid "`LPPL13`"
msgstr "`LPPL13`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3017
#, 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:3021
#, no-wrap
msgid "`LPPL13a`"
msgstr "`LPPL13a`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3022
#, 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:3026
#, no-wrap
msgid "`LPPL13b`"
msgstr "`LPPL13b`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3027
#, 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:3031
#, no-wrap
msgid "`LPPL13c`"
msgstr "`LPPL13c`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3032
#, 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:3036
#, no-wrap
msgid "`MIT`"
msgstr "`MIT`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3037
#, no-wrap
msgid "MIT license / X11 license"
msgstr "Лицензия MIT / Лицензия X11"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3038
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3058
#, no-wrap
msgid "`COPYFREE FSF GPL OSI`"
msgstr "`COPYFREE FSF GPL OSI`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3041
#, no-wrap
msgid "`MPL10`"
msgstr "`MPL10`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3042
#, no-wrap
msgid "Mozilla Public License version 1.0"
msgstr "Публичная лицензия Mozilla, версия 1.0"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3046
#, no-wrap
msgid "`MPL11`"
msgstr "`MPL11`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3047
#, no-wrap
msgid "Mozilla Public License version 1.1"
msgstr "Публичная лицензия Mozilla, версия 1.1"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3051
#, no-wrap
msgid "`MPL20`"
msgstr "`MPL20`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3052
#, no-wrap
msgid "Mozilla Public License version 2.0"
msgstr "Публичная лицензия Mozilla, версия 2.0"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3056
#, no-wrap
msgid "`NCSA`"
msgstr "`NCSA`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3057
#, no-wrap
msgid "University of Illinois/NCSA Open Source License"
msgstr "Открытая лицензия Университета Иллинойса/NCSA"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3061
#, no-wrap
msgid "`NONE`"
msgstr "`NONE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3062
#, no-wrap
msgid "No license specified"
msgstr "Лицензия не указана"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3065
#, no-wrap
msgid "`none`"
msgstr "`none`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3066
#, no-wrap
msgid "`OFL10`"
msgstr "`OFL10`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3067
#, 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:3068
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3073
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3283
#, no-wrap
msgid "`FONTS`"
msgstr "`FONTS`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3071
#, no-wrap
msgid "`OFL11`"
msgstr "`OFL11`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3072
#, 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:3076
#, no-wrap
msgid "`OWL`"
msgstr "`OWL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3077
#, 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:3078
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3279
#, no-wrap
msgid "`COPYFREE`"
msgstr "`COPYFREE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3081
#, no-wrap
msgid "`OpenSSL`"
msgstr "`OpenSSL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3082
#, no-wrap
msgid "OpenSSL License"
msgstr "Лицензия OpenSSL"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3086
#, no-wrap
msgid "`PD`"
msgstr "`PD`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3087
#, no-wrap
msgid "Public Domain"
msgstr "Общественное достояние"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3088
#, no-wrap
msgid "`GPL COPYFREE`"
msgstr "`GPL COPYFREE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3091
#, no-wrap
msgid "`PHP202`"
msgstr "`PHP202`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3092
#, no-wrap
msgid "PHP License version 2.02"
msgstr "Лицензия PHP версии 2.02"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3096
#, no-wrap
msgid "`PHP30`"
msgstr "`PHP30`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3097
#, no-wrap
msgid "PHP License version 3.0"
msgstr "Лицензия PHP версии 3.0"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3101
#, no-wrap
msgid "`PHP301`"
msgstr "`PHP301`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3102
#, no-wrap
msgid "PHP License version 3.01"
msgstr "Лицензия PHP версии 3.01"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3106
#, no-wrap
msgid "`PSFL`"
msgstr "`PSFL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3107
#, no-wrap
msgid "Python Software Foundation License"
msgstr "Лицензия Python Software Foundation"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3111
#, no-wrap
msgid "`PostgreSQL`"
msgstr "`PostgreSQL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3112
#, no-wrap
msgid "PostgreSQL License"
msgstr "Лицензия PostgreSQL"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3116
#, no-wrap
msgid "`RUBY`"
msgstr "`RUBY`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3117
#, no-wrap
msgid "Ruby License"
msgstr "Лицензия Ruby"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3121
#, no-wrap
msgid "`UNLICENSE`"
msgstr "`UNLICENSE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3122
#, no-wrap
msgid "The Unlicense"
msgstr "Отказ от лицензии (The Unlicense)"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3123
#, no-wrap
msgid "`COPYFREE FSF GPL`"
msgstr "`COPYFREE FSF GPL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3126
#, no-wrap
msgid "`WTFPL`"
msgstr "`WTFPL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3127
#, 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:3128
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3133
#, no-wrap
msgid "`GPL FSF COPYFREE`"
msgstr "`GPL FSF COPYFREE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3131
#, no-wrap
msgid "`WTFPL1`"
msgstr "`WTFPL1`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3132
#, 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:3136
#, no-wrap
msgid "`ZLIB`"
msgstr "`ZLIB`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3137
#, no-wrap
msgid "zlib License"
msgstr "Лицензия zlib"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3138
#, no-wrap
msgid "`GPL FSF OSI`"
msgstr "`GPL FSF OSI`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3141
#, no-wrap
msgid "`ZPL21`"
msgstr "`ZPL21`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3142
#, no-wrap
msgid "Zope Public License version 2.1"
msgstr "Публичная лицензия Zope версия 2.1"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3143
#, no-wrap
msgid "`GPL OSI`"
msgstr "`GPL OSI`"

#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3147
#, 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:3150
msgid "Permissions. use `none` if empty."
msgstr "Разрешения. Используйте `none`, если пусто."

#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3151
#, no-wrap
msgid "License Permissions List"
msgstr "Список разрешений лицензии"

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3153
#, no-wrap
msgid "`dist-mirror`"
msgstr "`dist-mirror`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3156
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:3158
#, no-wrap
msgid "`no-dist-mirror`"
msgstr "`no-dist-mirror`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3162
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:3164
#, no-wrap
msgid "`dist-sell`"
msgstr "`dist-sell`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3167
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:3169
#, no-wrap
msgid "`no-dist-sell`"
msgstr "`no-dist-sell`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3172
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:3174
#, no-wrap
msgid "`pkg-mirror`"
msgstr "`pkg-mirror`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3177
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:3179
#, no-wrap
msgid "`no-pkg-mirror`"
msgstr "`no-pkg-mirror`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3183
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:3185
#, no-wrap
msgid "`pkg-sell`"
msgstr "`pkg-sell`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3188
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:3190
#, no-wrap
msgid "`no-pkg-sell`"
msgstr "`no-pkg-sell`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3194
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:3196
#, no-wrap
msgid "`auto-accept`"
msgstr "`auto-accept`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3200
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:3202
#, no-wrap
msgid "`no-auto-accept`"
msgstr "`no-auto-accept`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3206
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:3208
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:3210
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:3214
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:3216
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:3218
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:3221
#, no-wrap
msgid "Nonstandard License"
msgstr "Нестандартная лицензия"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3225
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:3233
#, 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:3238
#, no-wrap
msgid "Standard and Nonstandard Licenses"
msgstr "Стандартные и нестандартные лицензии"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3244
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:3252
#, 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:3258
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:3261
#, 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:3264
msgid "Groups the license belongs."
msgstr "Группы, к которым принадлежит лицензия."

#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3265
#, no-wrap
msgid "Predefined License Groups List"
msgstr "Список предопределённых групп лицензий"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3269
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:3271
#, no-wrap
msgid "`GPL`"
msgstr "`GPL`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3273
msgid "GPL Compatible"
msgstr "Совместимые с GPL"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3277
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:3281
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:3285
msgid "Font licenses"
msgstr "Лицензии на шрифты"

#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3287
#, 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:3290
msgid "Full name of the license."
msgstr "Полное название лицензии."

#. type: Block title
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3292
#, no-wrap
msgid "`LICENSE_NAME`"
msgstr "`LICENSE_NAME`"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3302
#, 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:3307
#, 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:3312
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:3314
#, no-wrap
msgid "`LICENSE_FILE`"
msgstr "`LICENSE_FILE`"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3322
#, 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:3327
#, 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:3331
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:3333
#, no-wrap
msgid "`LICENSE_TEXT`"
msgstr "`LICENSE_TEXT`"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3344
#, 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:3349
#, 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:3353
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:3355
#, no-wrap
msgid "`LICENSE_DISTFILES`"
msgstr "`LICENSE_DISTFILES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3360
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:3365
#, 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:3373
#, 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:3378
#, no-wrap
msgid "`LICENSE_COMB`"
msgstr "`LICENSE_COMB`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3383
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:3385
#, no-wrap
msgid "Dual Licenses"
msgstr "Двойные лицензии"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3392
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:3397
#, 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:3400
msgid "If license files are provided, use this:"
msgstr "Если предоставлены файлы лицензий, используйте это:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3407
#, 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:3412
#, no-wrap
msgid "Multiple Licenses"
msgstr "Множественные лицензии"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3417
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:3422
#, 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:3427
#, no-wrap
msgid "`PORTSCOUT`"
msgstr "`PORTSCOUT`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3430
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:3432
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:3434
msgid "Situations where `PORTSCOUT` is set include:"
msgstr "Ситуации, когда установлена переменная `PORTSCOUT`, включают:"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3436
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:3440
#, 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:3443
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:3447
#, no-wrap
msgid "PORTSCOUT=\tignore:1\n"
msgstr "PORTSCOUT=\tignore:1\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3450
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:3454
#, 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:3457
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:3461
#, 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:3464
#, no-wrap
msgid "Dependencies"
msgstr "Зависимости"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3471
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:3477
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:3480
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4833
#, no-wrap
msgid "`LIB_DEPENDS`"
msgstr "`LIB_DEPENDS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3485
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:3489
#, 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:3492
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:3495
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:3497
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4834
#, no-wrap
msgid "`RUN_DEPENDS`"
msgstr "`RUN_DEPENDS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3502
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:3504
msgid "For example,"
msgstr "Например,"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3509
#, 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:3513
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:3518
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:3523
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:3527
#, 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:3534
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:3537
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:3541
#, 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:3548
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:3555
#, 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:3561
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:3564
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4832
#, no-wrap
msgid "`BUILD_DEPENDS`"
msgstr "`BUILD_DEPENDS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3569
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:3573
#, 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:3576
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3614
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:3582
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:3585
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4831
#, no-wrap
msgid "`FETCH_DEPENDS`"
msgstr "`FETCH_DEPENDS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3590
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:3594
#, 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:3597
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:3600
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:3602
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4829
#, no-wrap
msgid "`EXTRACT_DEPENDS`"
msgstr "`EXTRACT_DEPENDS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3607
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:3611
#, 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:3617
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:3621
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:3624
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4830
#, no-wrap
msgid "`PATCH_DEPENDS`"
msgstr "`PATCH_DEPENDS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3628
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:3632
#, 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:3635
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:3638
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:3640
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4911
#, no-wrap
msgid "`USES`"
msgstr "`USES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3644
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:3648
#, no-wrap
msgid "USES= feature[:arguments]\n"
msgstr "USES= feature[:arguments]\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3651
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:3655
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:3658
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3680
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4208
#, no-wrap
msgid "`USE_*`"
msgstr "`USE_*`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3665
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:3670
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:3674
#, 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:3677
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:3686
#, no-wrap
msgid "Means"
msgstr "Значение"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3687
#, no-wrap
msgid "`USE_GCC`"
msgstr "`USE_GCC`"

#. type: Table
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3712
#, 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:3721
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:uses[uses-ruby,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:uses[uses-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:3723
#, no-wrap
msgid "Minimal Version of a Dependency"
msgstr "Минимальная версия зависимого пакета"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3726
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:3730
#, 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:3734
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:3736
#, no-wrap
msgid "Notes on Dependencies"
msgstr "Заметки о зависимостях"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3742
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:3746
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:3751
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:3755
#, 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:3758
msgid "will always descend to the `jpeg` port and extract it."
msgstr "всегда будет переходить к порту `jpeg` и извлекать его."

#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3760
#, no-wrap
msgid "Circular Dependencies Are Fatal"
msgstr "Циклические зависимости фатальны"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3765
msgid "Do not introduce any circular dependencies into the ports tree!"
msgstr "Не создавайте циклических зависимостей в дереве портов!"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3772
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:3774
#, no-wrap
msgid "Problems Caused by Automatic Dependencies"
msgstr "Проблемы, вызванные автоматическими зависимостями"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3779
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:3781
#, no-wrap
msgid "Wrong Declaration of an Optional Dependency"
msgstr "Неправильное объявление необязательной зависимости"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3788
#, 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:3792
#, 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:3801
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:3803
#, no-wrap
msgid "Correct Declaration of an Optional Dependency"
msgstr "Правильное объявление необязательной зависимости"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3811
#, 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:3813
#, 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:3820
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:3822
#, no-wrap
msgid "Slave Ports and `MASTERDIR`"
msgstr "Подчиненные порты и `MASTERDIR`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3829
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:3832
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:3838
#, 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:3840
#, 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:3853
#, 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:3857
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:3859
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:3864
#, 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:3866
#, 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:3871
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:3873
#, no-wrap
msgid "Man Pages"
msgstr "Страницы Справочника"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3878
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:3880
#, no-wrap
msgid "Info Files"
msgstr "Файлы информации"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3887
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:3891
#, 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:3894
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:3896
#, no-wrap
msgid "Makefile Options"
msgstr "Параметры Makefile"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3901
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:3903
#, no-wrap
msgid "`OPTIONS`"
msgstr "`OPTIONS`"

#. type: Title ====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3906
#, no-wrap
msgid "Background"
msgstr "Пояснения"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3912
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:3916
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:3918
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:3921
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:3923
#, no-wrap
msgid "Syntax"
msgstr "Синтаксис"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:3927
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:3931
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4360
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4657
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4714
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4778
#, 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:3934
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:3943
#, 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:3947
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:3953
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:3959
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:3962
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:3967
#, 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:3973
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:3976
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:3981
#, 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:3984
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:3989
#, 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:3992
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:3997
#, 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:4000
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:4004
#, 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:4010
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:4012
#, no-wrap
msgid "Simple Use of `OPTIONS`"
msgstr "Простое использование `OPTIONS`"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4020
#, 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:4023
#, 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:4027
#, 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:4029
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4093
#, 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:4034
#, no-wrap
msgid "Check for Unset Port `OPTIONS`"
msgstr "Проверка неустановленных `OPTIONS` порта"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4043
#, 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:4047
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:4052
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4089
#, 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:4057
#, no-wrap
msgid "Practical Use of `OPTIONS`"
msgstr "Пример реального использования `OPTIONS`"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4065
#, 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:4068
#, 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:4071
#, 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:4079
#, 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:4084
#, 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:4086
#, 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:4091
#, no-wrap
msgid "# Check other OPTIONS\n"
msgstr "# Check other OPTIONS\n"

#. type: Title ====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4098
#, no-wrap
msgid "Default Options"
msgstr "Опции по умолчанию"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4101
msgid "These options are always on by default."
msgstr "Эти опции всегда включены по умолчанию."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4103
msgid "`DOCS` - build and install documentation."
msgstr "`DOCS` — сборка и установка документации."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4104
msgid "`NLS` - Native Language Support."
msgstr "`NLS` — Поддержка родного языка."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4105
msgid "`EXAMPLES` - build and install examples."
msgstr "`EXAMPLES` — сборка и установка примеров."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4106
msgid "`IPV6` - IPv6 protocol support."
msgstr "`IPV6` — Поддержка протокола IPv6."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4111
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:4114
#, no-wrap
msgid "Feature Auto-Activation"
msgstr "Автоматическая активация функций"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4118
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:4120
#, no-wrap
msgid "Wrong Handling of an Option"
msgstr "Неправильная обработка опции"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4130
#, 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:4138
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:4140
#, no-wrap
msgid "Correct Handling of an Option"
msgstr "Правильная обработка опции"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4149
#, 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:4157
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:4161
#, 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:4164
msgid "as an alternative to"
msgstr "в качестве альтернативы"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4168
#, no-wrap
msgid ".if ${VARIABLE:MVALUE}\n"
msgstr ".if ${VARIABLE:MVALUE}\n"

#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4173
#, no-wrap
msgid "Options Helpers"
msgstr "Помощники параметров"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4177
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:4178
#, 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:4180
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:4182
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:4183
#, no-wrap
msgid "`CONFIGURE_ARGS`"
msgstr "`CONFIGURE_ARGS`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4185
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:4187
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:4189
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:4190
#, no-wrap
msgid "`CMAKE_ARGS`"
msgstr "`CMAKE_ARGS`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4193
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:4195
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:4196
#, no-wrap
msgid "`MESON_ARGS`"
msgstr "`MESON_ARGS`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4198
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:4200
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:4202
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:4204
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:4205
#, no-wrap
msgid "`QMAKE_ARGS`"
msgstr "`QMAKE_ARGS`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4207
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:4210
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:4211
#, no-wrap
msgid "`*_DEPENDS`"
msgstr "`*_DEPENDS`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4213
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:4214
#, no-wrap
msgid "`*` (Any variable)"
msgstr "`*` (Любая переменная)"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4217
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:4219
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:4220
#, no-wrap
msgid "Options dependencies"
msgstr "Зависимости параметров"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4223
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:4224
#, no-wrap
msgid "Options conflicts"
msgstr "Конфликты опций"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4227
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:4228
#, no-wrap
msgid "Build targets"
msgstr "Цели сборки"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4231
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:4233
#, no-wrap
msgid "`OPTIONS_SUB`"
msgstr "`OPTIONS_SUB`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4236
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:4241
#, 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:4244
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4283
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4319
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4356
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4391
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4428
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4464
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4498
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4528
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4560
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4592
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4621
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4774
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4847
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4924
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5014
msgid "is equivalent to:"
msgstr "эквивалентно:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4248
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4287
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4323
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4395
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4432
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4468
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4502
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4532
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4564
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4596
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4625
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4851
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4928
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5005
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5018
#, 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:4250
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4289
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4325
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4362
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4397
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4434
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4470
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4504
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4534
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4566
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4598
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4627
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4659
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4716
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4782
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4853
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4930
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5020
#, 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:4258
#, 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:4264
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:4267
#, 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:4273
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:4280
#, 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:4297
#, 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:4300
#, no-wrap
msgid "`CONFIGURE_ARGS` Helpers"
msgstr "Помощники `CONFIGURE_ARGS`"

#. type: Title =====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4303
#, no-wrap
msgid "`OPT_CONFIGURE_ENABLE`"
msgstr "`OPT_CONFIGURE_ENABLE`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4310
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:4316
#, 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:4331
#, 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:4337
#, 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:4340
#, no-wrap
msgid "`OPT_CONFIGURE_WITH`"
msgstr "`OPT_CONFIGURE_WITH`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4347
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:4353
#, 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:4368
#, 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:4374
#, 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:4377
#, 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:4382
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:4388
#, 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:4403
#, 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:4409
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:4412
#, no-wrap
msgid "`CMAKE_ARGS` Helpers"
msgstr "Помощники `CMAKE_ARGS`"

#. type: Title =====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4415
#, 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:4419
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:4425
#, 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:4440
#, 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:4446
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:4449
#, 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:4455
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:4461
#, 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:4478
#, 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:4481
#, no-wrap
msgid "`MESON_ARGS` Helpers"
msgstr "Помощники `MESON_ARGS`"

#. type: Title =====
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4484
#, 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:4489
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:4495
#, 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:4510
#, 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:4513
#, 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:4519
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:4525
#, 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:4542
#, 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:4545
#, 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:4551
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:4557
#, 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:4574
#, 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:4577
#, 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:4583
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:4589
#, 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:4604
#, 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:4607
#, 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:4612
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:4618
#, 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:4633
#, 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:4636
#, no-wrap
msgid "`OPT_IMPLIES`"
msgstr "`OPT_IMPLIES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4639
msgid "Provides a way to add dependencies between options."
msgstr "Предоставляет способ добавления зависимостей между опциями."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4642
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:4647
#, 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:4650
#, 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:4653
msgid "Is equivalent to:"
msgstr "Эквивалентно:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4665
#, 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:4671
#, 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:4674
#, no-wrap
msgid "Simple Use of `OPT_IMPLIES`"
msgstr "Простое использование `OPT_IMPLIES`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4679
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:4684
#, 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:4689
#, 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:4694
#, 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:4697
msgid "Provides a way to add conflicts between options."
msgstr "Предоставляет способ добавления конфликтов между опциями."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4701
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:4707
#, 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:4710
msgid "Is roughly equivalent to:"
msgstr "Примерно эквивалентно:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4720
#, 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:4723
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:4725
#, no-wrap
msgid "Simple Use of `OPT_PREVENTS`"
msgstr "Простое использование `OPT_PREVENTS`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4731
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:4735
#, 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:4738
#, 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:4743
#, 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:4748
#, 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:4751
msgid "Provides a generic way to set and append to variables."
msgstr ""
"Предоставляет универсальный способ установки и добавления значений "
"переменным."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4756
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:4761
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:4769
#, 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:4771
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4780
#, 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:4786
#, 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:4790
#, 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:4796
#, 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:4801
msgid "Values containing whitespace must be enclosed in quotes:"
msgstr "Значения, содержащие пробелы, должны быть заключены в кавычки:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4805
#, 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:4811
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:4814
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:4818
#, 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:4823
#, 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:4826
msgid "For any of these dependency types:"
msgstr "Для любого из этих типов зависимостей:"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4828
msgid "`PKG_DEPENDS`"
msgstr "`PKG_DEPENDS`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4838
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:4844
#, 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:4859
#, 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:4862
#, 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:4865
msgid "For any of these variables:"
msgstr "Для любой из этих переменных:"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4867
msgid "`ALL_TARGET`"
msgstr "`ALL_TARGET`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4868
msgid "`BINARY_ALIAS`"
msgstr "`BINARY_ALIAS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4869
msgid "`BROKEN`"
msgstr "`BROKEN`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4871
msgid "`CFLAGS`"
msgstr "`CFLAGS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4872
msgid "`CONFIGURE_ENV`"
msgstr "`CONFIGURE_ENV`"

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4873
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5112
#, no-wrap
msgid "`CONFLICTS`"
msgstr "`CONFLICTS`"

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4874
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5107
#, no-wrap
msgid "`CONFLICTS_BUILD`"
msgstr "`CONFLICTS_BUILD`"

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4875
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5102
#, no-wrap
msgid "`CONFLICTS_INSTALL`"
msgstr "`CONFLICTS_INSTALL`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4876
msgid "`CPPFLAGS`"
msgstr "`CPPFLAGS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4877
msgid "`CXXFLAGS`"
msgstr "`CXXFLAGS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4878
msgid "`DESKTOP_ENTRIES`"
msgstr "`DESKTOP_ENTRIES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4881
msgid "`EXTRA_PATCHES`"
msgstr "`EXTRA_PATCHES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4893
msgid "`IGNORE`"
msgstr "`IGNORE`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4894
msgid "`INFO`"
msgstr "`INFO`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4895
msgid "`INSTALL_TARGET`"
msgstr "`INSTALL_TARGET`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4896
msgid "`LDFLAGS`"
msgstr "`LDFLAGS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4897
msgid "`LIBS`"
msgstr "`LIBS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4898
msgid "`MAKE_ARGS`"
msgstr "`MAKE_ARGS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4899
msgid "`MAKE_ENV`"
msgstr "`MAKE_ENV`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4902
msgid "`PATCH_SITES`"
msgstr "`PATCH_SITES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4903
msgid "`PLIST_DIRS`"
msgstr "`PLIST_DIRS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4904
msgid "`PLIST_FILES`"
msgstr "`PLIST_FILES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4905
msgid "`PLIST_SUB`"
msgstr "`PLIST_SUB`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4906
msgid "`PORTDOCS`"
msgstr "`PORTDOCS`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4907
msgid "`PORTEXAMPLES`"
msgstr "`PORTEXAMPLES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4908
msgid "`SUB_FILES`"
msgstr "`SUB_FILES`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4909
msgid "`SUB_LIST`"
msgstr "`SUB_LIST`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4910
msgid "`TEST_TARGET`"
msgstr "`TEST_TARGET`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4915
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:4921
#, 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:4936
#, 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:4943
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:4948
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:4950
msgid "With these lines in the [.filename]#Makefile#:"
msgstr "С такими строками в [.filename]#Makefile#:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4954
#, 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:4956
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4965
#, 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:4959
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:4961
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:4968
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:4971
#, 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:4974
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:4976
msgid "`pre-fetch`"
msgstr "`pre-fetch`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4977
msgid "`do-fetch`"
msgstr "`do-fetch`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4978
msgid "`post-fetch`"
msgstr "`post-fetch`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4979
msgid "`pre-extract`"
msgstr "`pre-extract`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4980
msgid "`do-extract`"
msgstr "`do-extract`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4981
msgid "`post-extract`"
msgstr "`post-extract`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4982
msgid "`pre-patch`"
msgstr "`pre-patch`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4983
msgid "`do-patch`"
msgstr "`do-patch`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4984
msgid "`post-patch`"
msgstr "`post-patch`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4985
msgid "`pre-configure`"
msgstr "`pre-configure`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4986
msgid "`do-configure`"
msgstr "`do-configure`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4987
msgid "`post-configure`"
msgstr "`post-configure`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4988
msgid "`pre-build`"
msgstr "`pre-build`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4989
msgid "`do-build`"
msgstr "`do-build`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4990
msgid "`post-build`"
msgstr "`post-build`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4991
msgid "`pre-install`"
msgstr "`pre-install`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4992
msgid "`do-install`"
msgstr "`do-install`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4993
msgid "`post-install`"
msgstr "`post-install`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4994
msgid "`post-stage`"
msgstr "`post-stage`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4995
msgid "`pre-package`"
msgstr "`pre-package`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4996
msgid "`do-package`"
msgstr "`do-package`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:4997
msgid "`post-package`"
msgstr "`post-package`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5001
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:5008
#, 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:5011
#, 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:5027
#, 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:5030
#, no-wrap
msgid "Specifying the Working Directory"
msgstr "Указание рабочего каталога"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5035
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:5040
#, 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:5043
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:5045
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:5047
#, no-wrap
msgid "`WRKSRC`"
msgstr "`WRKSRC`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5051
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:5055
#, 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:5058
msgid "or possibly"
msgstr "или можно"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5062
#, 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:5065
#, no-wrap
msgid "`WRKSRC_SUBDIR`"
msgstr "`WRKSRC_SUBDIR`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5068
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:5072
#, no-wrap
msgid "WRKSRC_SUBDIR=\tsrc\n"
msgstr "WRKSRC_SUBDIR=\tsrc\n"

#. type: Title ===
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5075
#, no-wrap
msgid "`NO_WRKSUBDIR`"
msgstr "`NO_WRKSUBDIR`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5078
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:5082
#, 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:5087
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:5090
#, no-wrap
msgid "Conflict Handling"
msgstr "Обработка конфликтов"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5093
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:5097
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:5100
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:5105
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:5110
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:5115
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:5119
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:5122
#, 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:5125
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:5128
#, 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:5131
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:5134
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:5136
#, no-wrap
msgid "Basic usage of `CONFLICTS*`"
msgstr "Простой пример использования `CONFLICTS*`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5142
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:5149
#, 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:5152
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:5156
#, no-wrap
msgid "CONFLICTS_INSTALL=\tbind910\n"
msgstr "CONFLICTS_INSTALL=\tbind910\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5159
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:5163
#, 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:5170
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:5172
#, no-wrap
msgid "Using `CONFLICTS*` With Globs."
msgstr "Использование `CONFLICTS*` с шаблонами имён файлов."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5177
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:5179
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:5185
#, 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:5188
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:5190
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:5194
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:5198
#, 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:5201
#, no-wrap
msgid "Installing Files"
msgstr "Установка файлов"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5208
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:5211
#, no-wrap
msgid "`INSTALL_*` Macros"
msgstr "Макросы `INSTALL_*`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5218
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:5220
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:5221
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:5222
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:5223
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:5224
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:5225
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:5227
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:5231
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:5234
#, no-wrap
msgid "Stripping Binaries and Shared Libraries"
msgstr "Удаление символов из бинарных файлов и разделяемых библиотек"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5239
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:5242
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:5247
#, 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:5250
msgid "When multiple files need to be stripped:"
msgstr "Когда необходимо удалить отладочную информацию из нескольких файлов:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5257
#, 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:5262
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:5266
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:5268
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:5270
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:5273
#, no-wrap
msgid "Installing a Whole Tree of Files"
msgstr "Установка целого дерева файлов"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5278
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:5283
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:5289
#, 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:5292
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:5298
#, 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:5301
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:5304
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:5311
#, 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:5317
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:5319
#, no-wrap
msgid "Install Additional Documentation"
msgstr "Установка дополнительной документации"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5323
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:5328
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:5331
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:5337
#, 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:5341
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:5343
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:5345
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:5346
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:5347
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:5348
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:5349
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:5350
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:5356
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:5362
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:5364
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:5369
#, 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:5378
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:5382
#, 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:5387
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:5391
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:5394
#, no-wrap
msgid "Subdirectories Under `PREFIX`"
msgstr "Подкаталоги в `PREFIX`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/makefiles/_index.adoc:5403
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:5405
#, 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:5408
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:5410
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:5412
#, 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:5417
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:5419
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:5425
#, 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:5430
#, 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:5435
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:5441
#, 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:5444
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:5451
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`, нельзя использовать для создания бинарного псевдонима, так "
"как тестовые зависимости, указанные таким образом, обрабатываются после "
"создания бинарных псевдонимов."

#, 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"

#, no-wrap
#~ msgid "<.>"
#~ msgstr "<.>"

#~ msgid "% pkg version -t 1.2 1.2.0"
#~ msgstr "% pkg version -t 1.2 1.2.0"

#, no-wrap
#~ msgid "`CHEESESHOP`"
#~ msgstr "`CHEESESHOP`"