# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # Vladlen Popolitov , 2025. msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-05-01 19:56-0300\n" "PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \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/order/_index.adoc:1 #, no-wrap msgid "Order of Variables in FreeBSD Port Makefiles" msgstr "Порядок переменных в Makefile портов FreeBSD" #. type: YAML Front Matter: title #: documentation/content/en/books/porters-handbook/order/_index.adoc:1 #, no-wrap msgid "Chapter 15. Order of Variables in Port Makefiles" msgstr "Глава 15. Порядок переменных в Makefile портов" #. type: Title = #: documentation/content/en/books/porters-handbook/order/_index.adoc:14 #, no-wrap msgid "Order of Variables in Port Makefiles" msgstr "Порядок переменных в Makefile портов" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:53 msgid "" "The first sections of the [.filename]#Makefile# must always come in the same " "order. This standard makes it so everyone can easily read any port without " "having to search for variables in a random order." msgstr "" "Первые разделы [.filename]#Makefile# всегда должны идти в одном и том же " "порядке. Это стандартное правило позволяет любому легко читать любой порт, " "не тратя время на поиск переменных в произвольном порядке." #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:58 msgid "" "The sections and variables described here are mandatory in a ordinary port. " "In a slave port, many sections and variables can be skipped." msgstr "" "Описанные здесь разделы и переменные являются обязательными в обычном порте. " "В подчиненном порте многие разделы и переменные могут быть пропущены." #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:63 msgid "" "Each following block must be separated from the previous block by a single " "blank line." msgstr "" "Каждый следующий блок должен быть отделен от предыдущего одним пустым " "пробелом." #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:66 msgid "" "In the following blocks, only set the variables that are required by the " "port. Define these variables in the order they are shown here." msgstr "" "В следующих блоках устанавливайте только переменные, которые требуются для " "порта. Определяйте эти переменные в порядке, указанном здесь." #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:69 #, no-wrap msgid "`PORTNAME` Block" msgstr "Блок `PORTNAME`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:73 msgid "" "This block is the most important. It defines the port name, version, " "distribution file location, and category. The variables must be in this " "order:" msgstr "" "Этот блок является наиболее важным. Он определяет имя порта, версию, " "расположение файла дистрибутива и категорию. Переменные должны быть в " "следующем порядке:" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:77 msgid "" "crossref:makefiles[makefile-portname,`PORTNAME`] * " "crossref:makefiles[makefile-versions,`PORTVERSION`]" "[crossref:order[portversion-footnote, 1]]" msgstr "" "crossref:makefiles[makefile-portname,`PORTNAME`] * crossref:makefiles" "[makefile-versions,`PORTVERSION`][crossref:order[portversion-footnote, 1]]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:80 msgid "" "crossref:makefiles[makefile-versions,`DISTVERSIONPREFIX`] * " "crossref:makefiles[makefile-versions,`DISTVERSION`]" "[crossref:order[portversion-footnote, 1]]" msgstr "" "crossref:makefiles[makefile-versions,`DISTVERSIONPREFIX`] * " "crossref:makefiles[makefile-versions,`DISTVERSION`][crossref:order" "[portversion-footnote, 1]]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:81 msgid "crossref:makefiles[makefile-versions,`DISTVERSIONSUFFIX`]" msgstr "crossref:makefiles[makefile-versions,`DISTVERSIONSUFFIX`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:82 msgid "crossref:makefiles[makefile-portrevision,`PORTREVISION`]" msgstr "crossref:makefiles[makefile-portrevision,`PORTREVISION`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:83 msgid "crossref:makefiles[makefile-portepoch,`PORTEPOCH`]" msgstr "crossref:makefiles[makefile-portepoch,`PORTEPOCH`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:84 msgid "crossref:makefiles[makefile-categories,`CATEGORIES`]" msgstr "crossref:makefiles[makefile-categories,`CATEGORIES`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:85 msgid "crossref:makefiles[makefile-master_sites,`MASTER_SITES`]" msgstr "crossref:makefiles[makefile-master_sites,`MASTER_SITES`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:86 msgid "" "crossref:makefiles[makefile-master_sites-shorthand,`MASTER_SITE_SUBDIR`] " "(deprecated)" msgstr "" "crossref:makefiles[makefile-master_sites-shorthand,`MASTER_SITE_SUBDIR`] " "(устарело)" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:87 msgid "crossref:makefiles[porting-pkgnameprefix-suffix,`PKGNAMEPREFIX`]" msgstr "crossref:makefiles[porting-pkgnameprefix-suffix,`PKGNAMEPREFIX`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:88 msgid "crossref:makefiles[porting-pkgnameprefix-suffix,`PKGNAMESUFFIX`]" msgstr "crossref:makefiles[porting-pkgnameprefix-suffix,`PKGNAMESUFFIX`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:89 msgid "crossref:makefiles[makefile-distname,`DISTNAME`]" msgstr "crossref:makefiles[makefile-distname,`DISTNAME`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:90 msgid "crossref:makefiles[makefile-extract_sufx,`EXTRACT_SUFX`]" msgstr "crossref:makefiles[makefile-extract_sufx,`EXTRACT_SUFX`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:91 msgid "crossref:makefiles[makefile-distfiles-definition,`DISTFILES`]" msgstr "crossref:makefiles[makefile-distfiles-definition,`DISTFILES`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:92 msgid "crossref:makefiles[makefile-dist_subdir,`DIST_SUBDIR`]" msgstr "crossref:makefiles[makefile-dist_subdir,`DIST_SUBDIR`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:93 msgid "crossref:makefiles[makefile-extract_only,`EXTRACT_ONLY`]" msgstr "crossref:makefiles[makefile-extract_only,`EXTRACT_ONLY`]" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:98 msgid "Only one of PORTVERSION and DISTVERSION can be used." msgstr "" "Может быть использован только один из параметров — PORTVERSION или " "DISTVERSION." #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:101 #, no-wrap msgid "`PATCHFILES` Block" msgstr "Блок `PATCHFILES`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:105 msgid "This block is optional. The variables are:" msgstr "Этот блок является необязательным. Переменные:" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:107 msgid "crossref:makefiles[porting-patchfiles,`PATCH_SITES`]" msgstr "crossref:makefiles[porting-patchfiles,`PATCH_SITES`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:108 msgid "crossref:makefiles[porting-patchfiles,`PATCHFILES`]" msgstr "crossref:makefiles[porting-patchfiles,`PATCHFILES`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:109 msgid "crossref:makefiles[porting-patchfiles,`PATCH_DIST_STRIP`]" msgstr "crossref:makefiles[porting-patchfiles,`PATCH_DIST_STRIP`]" #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:111 #, no-wrap msgid "`MAINTAINER` Block" msgstr "Блок `MAINTAINER`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:115 msgid "This block is mandatory. The variables are:" msgstr "Этот блок является обязательным. Переменные следующие:" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:117 msgid "crossref:makefiles[makefile-maintainer,`MAINTAINER`]" msgstr "crossref:makefiles[makefile-maintainer,`MAINTAINER`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:118 msgid "crossref:makefiles[makefile-comment,`COMMENT`]" msgstr "crossref:makefiles[makefile-comment,`COMMENT`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:119 msgid "crossref:makefiles[makefile-www,`WWW`]" msgstr "crossref:makefiles[makefile-www,`WWW`]" #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:121 #, no-wrap msgid "`LICENSE` Block" msgstr "Блок `LICENSE`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:125 msgid "" "This block is optional, although it is highly recommended. The variables " "are:" msgstr "" "Этот блок является необязательным, хотя настоятельно рекомендуется. " "Переменные:" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:127 msgid "crossref:makefiles[licenses-license,`LICENSE`]" msgstr "crossref:makefiles[licenses-license,`LICENSE`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:128 msgid "crossref:makefiles[licenses-license_comb,`LICENSE_COMB`]" msgstr "crossref:makefiles[licenses-license_comb,`LICENSE_COMB`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:129 msgid "" "crossref:makefiles[licenses-license_groups,`LICENSE_GROUPS`] or " "`LICENSE_GROUPS_NAME`" msgstr "" "crossref:makefiles[licenses-license_groups,`LICENSE_GROUPS`] или " "`LICENSE_GROUPS_NAME`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:130 msgid "" "crossref:makefiles[licenses-license_name,`LICENSE_NAME`] or " "`LICENSE_NAME_NAME`" msgstr "" "crossref:makefiles[licenses-license_name,`LICENSE_NAME`] или " "`LICENSE_NAME_NAME`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:131 msgid "" "crossref:makefiles[licenses-license_text,`LICENSE_TEXT`] or " "`LICENSE_TEXT_NAME`" msgstr "" "crossref:makefiles[licenses-license_text,`LICENSE_TEXT`] или " "`LICENSE_TEXT_NAME`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:132 msgid "" "crossref:makefiles[licenses-license_file,`LICENSE_FILE`] or " "`LICENSE_FILE_NAME`" msgstr "" "crossref:makefiles[licenses-license_file,`LICENSE_FILE`] или " "`LICENSE_FILE_NAME`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:133 msgid "" "crossref:makefiles[licenses-license_perms,`LICENSE_PERMS`] or " "`LICENSE_PERMS_NAME_`" msgstr "" "crossref:makefiles[licenses-license_perms,`LICENSE_PERMS`] или " "`LICENSE_PERMS_NAME_`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:134 msgid "" "crossref:makefiles[licenses-license_distfiles,`LICENSE_DISTFILES`] or " "`LICENSE_DISTFILES_NAME`" msgstr "" "crossref:makefiles[licenses-license_distfiles,`LICENSE_DISTFILES`] или " "`LICENSE_DISTFILES_NAME`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:136 msgid "" "If there are multiple licenses, sort the different LICENSE_VAR_NAME " "variables by license name." msgstr "" "Если имеется несколько лицензий, отсортируйте различные переменные " "LICENSE_VAR_NAME по названию лицензии." #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:138 #, no-wrap msgid "Generic `BROKEN`/`IGNORE`/`DEPRECATED` Messages" msgstr "Общие сообщения `BROKEN`/`IGNORE`/`DEPRECATED`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:141 #: documentation/content/en/books/porters-handbook/order/_index.adoc:171 msgid "This block is optional. The variables are:" msgstr "Этот блок необязателен. Переменные:" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:143 msgid "crossref:porting-dads[dads-deprecated,`DEPRECATED`]" msgstr "crossref:porting-dads[dads-deprecated,`DEPRECATED`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:144 msgid "crossref:porting-dads[dads-deprecated,`EXPIRATION_DATE`]" msgstr "crossref:porting-dads[dads-deprecated,`EXPIRATION_DATE`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:145 msgid "crossref:porting-dads[dads-noinstall,`FORBIDDEN`]" msgstr "crossref:porting-dads[dads-noinstall,`FORBIDDEN`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:146 msgid "crossref:porting-dads[dads-noinstall,`BROKEN`]" msgstr "crossref:porting-dads[dads-noinstall,`BROKEN`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:147 msgid "crossref:porting-dads[dads-noinstall,`BROKEN_*`]" msgstr "crossref:porting-dads[dads-noinstall,`BROKEN_*`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:148 msgid "crossref:porting-dads[dads-noinstall,`IGNORE`]" msgstr "crossref:porting-dads[dads-noinstall,`IGNORE`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:149 msgid "crossref:porting-dads[dads-noinstall,`IGNORE_*`]" msgstr "crossref:porting-dads[dads-noinstall,`IGNORE_*`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:150 msgid "crossref:porting-dads[dads-noinstall,`ONLY_FOR_ARCHS`]" msgstr "crossref:porting-dads[dads-noinstall,`ONLY_FOR_ARCHS`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:151 msgid "crossref:porting-dads[dads-noinstall,`ONLY_FOR_ARCHS_REASON*`]" msgstr "crossref:porting-dads[dads-noinstall,`ONLY_FOR_ARCHS_REASON*`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:152 msgid "crossref:porting-dads[dads-noinstall,`NOT_FOR_ARCHS`]" msgstr "crossref:porting-dads[dads-noinstall,`NOT_FOR_ARCHS`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:153 msgid "crossref:porting-dads[dads-noinstall,`NOT_FOR_ARCHS_REASON*`]" msgstr "crossref:porting-dads[dads-noinstall,`NOT_FOR_ARCHS_REASON*`]" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:160 msgid "" "`BROKEN_*` and `IGNORE_*` can be any generic variables, for example, " "`IGNORE_amd64`, `BROKEN_FreeBSD_10`, etc. With the exception of variables " "that depend on a crossref:uses[uses,`USES`], place those in " "crossref:order[porting-order-uses, `USES` and `USE_x`]. For instance, " "`IGNORE_WITH_PHP` only works if crossref:uses[uses-php,`php`] is set, and " "`BROKEN_SSL` only if crossref:uses[uses-ssl,`ssl`] is set." msgstr "" "`BROKEN_*` и `IGNORE_*` могут быть любыми общими переменными, например, " "`IGNORE_amd64`, `BROKEN_FreeBSD_10` и т.д. За исключением переменных, " "которые зависят от crossref:uses[uses,`USES`], их следует размещать в " "crossref:order[porting-order-uses, `USES` и `USE_x`]. Например, " "`IGNORE_WITH_PHP` работает только если установлен crossref:uses[uses-" "php,`php`], а `BROKEN_SSL` — только если установлен crossref:uses[uses-" "ssl,`ssl`]." #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:165 msgid "" "If the port is marked BROKEN when some conditions are met, and such " "conditions can only be tested after including " "[.filename]#bsd.port.options.mk# or [.filename]#bsd.port.pre.mk#, then those " "variables should be set later, in crossref:order[porting-order-rest, The " "Rest of the Variables]." msgstr "" "Если порт помечен как BROKEN при выполнении определённых условий, и эти " "условия можно проверить только после включения [.filename]#bsd.port.options." "mk# или [.filename]#bsd.port.pre.mk#, то такие переменные должны быть " "установлены позже, в crossref:order[porting-order-rest, Остальные " "Переменные]." #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:168 #, no-wrap msgid "The Dependencies Block" msgstr "Блок зависимостей" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:173 msgid "crossref:makefiles[makefile-fetch_depends,`FETCH_DEPENDS`]" msgstr "crossref:makefiles[makefile-fetch_depends,`FETCH_DEPENDS`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:174 msgid "crossref:makefiles[makefile-extract_depends,`EXTRACT_DEPENDS`]" msgstr "crossref:makefiles[makefile-extract_depends,`EXTRACT_DEPENDS`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:175 msgid "crossref:makefiles[makefile-patch_depends,`PATCH_DEPENDS`]" msgstr "crossref:makefiles[makefile-patch_depends,`PATCH_DEPENDS`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:176 msgid "crossref:makefiles[makefile-build_depends,`BUILD_DEPENDS`]" msgstr "crossref:makefiles[makefile-build_depends,`BUILD_DEPENDS`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:177 msgid "crossref:makefiles[makefile-lib_depends,`LIB_DEPENDS`]" msgstr "crossref:makefiles[makefile-lib_depends,`LIB_DEPENDS`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:178 msgid "crossref:makefiles[makefile-run_depends,`RUN_DEPENDS`]" msgstr "crossref:makefiles[makefile-run_depends,`RUN_DEPENDS`]" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:179 msgid "`TEST_DEPENDS`" msgstr "`TEST_DEPENDS`" #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:181 #, no-wrap msgid "Flavors" msgstr "Флейворы" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:184 msgid "This block is optional." msgstr "Этот блок необязателен." #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:188 msgid "" "Start this section with defining `FLAVORS`. Continue with the possible " "Flavors helpers. See crossref:flavors[flavors-using,Using FLAVORS] for more " "Information." msgstr "" "Начните этот раздел с определения `FLAVORS`. Затем рассмотрите возможные " "вспомогательные инструменты флейворов. Дополнительную информацию см. в " "разделе crossref:flavors[flavors-using,Использование флейворов (FLAVORS)]." #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:190 msgid "" "Constructs setting variables not available as helpers using `.if ${FLAVOR:U} " "== foo` should go in their respective sections below." msgstr "" "Конструкции, устанавливающие переменные, недоступные в виде помощников, с " "использованием `.if ${FLAVOR:U} == foo`, должны быть размещены в " "соответствующих разделах ниже." #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:192 #, no-wrap msgid "`USES` and `USE_x`" msgstr "`USES` и `USE_x`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:195 msgid "Start this section with defining `USES`, and then possible `USE_x`." msgstr "Начните этот раздел с определения `USES`, а затем возможных `USE_x`." #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:198 msgid "" "Keep related variables close together. For example, if using " "crossref:makefiles[makefile-master_sites-github,`USE_GITHUB`], always put " "the `GH_*` variables right after it." msgstr "" "Держите связанные переменные рядом. Например, если используется " "crossref:makefiles[makefile-master_sites-github,`USE_GITHUB`], всегда " "размещайте переменные `GH_*` сразу после неё." #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:200 #, no-wrap msgid "Standard bsd.port.mk Variables" msgstr "Стандартные переменные bsd.port.mk" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:203 msgid "" "This section block is for variables that can be defined in " "[.filename]#bsd.port.mk# that do not belong in any of the previous section " "blocks." msgstr "" "Этот блок раздела предназначен для переменных, которые могут быть определены " "в [.filename]#bsd.port.mk# и не принадлежат ни к одному из предыдущих блоков " "разделов." #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:208 msgid "" "Order is not important, however try to keep similar variables together. For " "example uid and gid variables `USERS` and `GROUPS`. Configuration variables " "`CONFIGURE_*` and `*_CONFIGURE`. List of files, and directories `PORTDOCS` " "and `PORTEXAMPLES`." msgstr "" "Порядок не важен, однако старайтесь держать схожие переменные вместе. " "Например, переменные uid и gid `USERS` и `GROUPS`. Конфигурационные " "переменные `CONFIGURE_*` и `*_CONFIGURE`. Списки файлов и каталогов " "`PORTDOCS` и `PORTEXAMPLES`." #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:210 #, no-wrap msgid "Options and Helpers" msgstr "Параметры и помощники" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:215 msgid "" "If the port uses the crossref:makefiles[makefile-options,options framework], " "define `OPTIONS_DEFINE` and `OPTIONS_DEFAULT` first, then the other " "`OPTIONS_*` variables first, then the `*_DESC` descriptions, then the " "options helpers. Try and sort all of those alphabetically." msgstr "" "Если порт использует crossref:makefiles[makefile-options,фреймворк опций], " "сначала определите `OPTIONS_DEFINE` и `OPTIONS_DEFAULT`, затем остальные " "переменные `OPTIONS_*`, далее описания `*_DESC`, а затем вспомогательные " "опции. Старайтесь сортировать их все в алфавитном порядке." #. type: Block title #: documentation/content/en/books/porters-handbook/order/_index.adoc:217 #, no-wrap msgid "Options Variables Order Example" msgstr "Пример порядка переменных-опций" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:224 msgid "" "The `FOO` and `BAR` options do not have a standard description, so one need " "to be written. The other options already have one in [.filename]#Mk/" "bsd.options.desc.mk# so writing one is not needed. The `DOCS` and " "`EXAMPLES` use target helpers to install their files, they are shown here " "for completeness, though they belong in crossref:order[porting-order-" "targets, The Targets], so other variables and targets could be inserted " "before them." msgstr "" "Опции `FOO` и `BAR` не имеют стандартного описания, поэтому его необходимо " "написать. Остальные опции уже имеют описание в [.filename]#Mk/bsd.options." "desc.mk#, поэтому его создание не требуется. Переменные `DOCS` и `EXAMPLES` " "используют вспомогательные цели для установки своих файлов, они приведены " "здесь для полноты, хотя относятся к разделу crossref:order[porting-order-" "targets, Цели], поэтому перед ними могут быть вставлены другие переменные и " "цели." #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:232 #, no-wrap msgid "" "OPTIONS_DEFINE=\tDOCS EXAMPLES FOO BAR\n" "OPTIONS_DEFAULT=\tFOO\n" "OPTIONS_RADIO=\tSSL\n" "OPTIONS_RADIO_SSL= OPENSSL GNUTLS\n" "OPTIONS_SUB=\tyes\n" msgstr "" "OPTIONS_DEFINE=\tDOCS EXAMPLES FOO BAR\n" "OPTIONS_DEFAULT=\tFOO\n" "OPTIONS_RADIO=\tSSL\n" "OPTIONS_RADIO_SSL= OPENSSL GNUTLS\n" "OPTIONS_SUB=\tyes\n" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:235 #, no-wrap msgid "" "BAR_DESC=\t\tEnable bar support\n" "FOO_DESC=\t\tEnable foo support\n" msgstr "" "BAR_DESC=\t\tEnable bar support\n" "FOO_DESC=\t\tEnable foo support\n" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:240 #, no-wrap msgid "" "BAR_CONFIGURE_WITH=\tbar=${LOCALBASE}\n" "FOO_CONFIGURE_ENABLE=\tfoo\n" "GNUTLS_CONFIGURE_ON=\t--with-ssl=gnutls\n" "OPENSSL_CONFIGURE_ON=\t--with-ssl=openssl\n" msgstr "" "BAR_CONFIGURE_WITH=\tbar=${LOCALBASE}\n" "FOO_CONFIGURE_ENABLE=\tfoo\n" "GNUTLS_CONFIGURE_ON=\t--with-ssl=gnutls\n" "OPENSSL_CONFIGURE_ON=\t--with-ssl=openssl\n" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:244 #, no-wrap msgid "" "post-install-DOCS-on:\n" " ${MKDIR} ${STAGEDIR}${DOCSDIR}\n" " cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}\n" msgstr "" "post-install-DOCS-on:\n" " ${MKDIR} ${STAGEDIR}${DOCSDIR}\n" " cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}\n" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:248 #, no-wrap msgid "" "post-install-EXAMPLES-on:\n" " ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}\n" " cd ${WRKSRC}/ex && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}\n" msgstr "" "post-install-EXAMPLES-on:\n" " ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}\n" " cd ${WRKSRC}/ex && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}\n" #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:253 #, no-wrap msgid "The Rest of the Variables" msgstr "Остальные переменные" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:256 msgid "" "And then, the rest of the variables that are not mentioned in the previous " "blocks." msgstr "" "И затем, остальные переменные, которые не упоминались в предыдущих блоках." #. type: Title == #: documentation/content/en/books/porters-handbook/order/_index.adoc:258 #, no-wrap msgid "The Targets" msgstr "Цели" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:262 msgid "" "After all the variables are defined, the optional man:make[1] targets can be " "defined. Keep `pre-*` before `post-*` and in the same order as the " "different stages run:" msgstr "" "После определения всех переменных можно определить дополнительные цели " "man:make[1]. Следует располагать `pre-*` перед `post-*` и в том же порядке, " "в котором выполняются различные этапы:" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:264 msgid "`fetch`" msgstr "`fetch`" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:265 msgid "`extract`" msgstr "`extract`" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:266 msgid "`patch`" msgstr "`patch`" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:267 msgid "`configure`" msgstr "`configure`" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:268 msgid "`build`" msgstr "`build`" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:269 msgid "`install`" msgstr "`install`" #. type: delimited block = 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:270 msgid "`test`" msgstr "`test`" #. type: Plain text #: documentation/content/en/books/porters-handbook/order/_index.adoc:275 msgid "" "When using options helpers target keep them alphabetically sorted, but keep " "the `*-on` before the `*-off`. When also using the main target, keep the " "main target before the optional ones:" msgstr "" "При использовании опций `helpers` для цели `target` сохраняйте их в " "алфавитном порядке, но оставляйте `*-on` перед `*-off`. Если также " "используется основная цель, размещайте её перед дополнительными:" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:280 #, no-wrap msgid "" "post-install:\n" "\t# install generic bits\n" msgstr "" "post-install:\n" "\t# install generic bits\n" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:283 #, no-wrap msgid "" "post-install-DOCS-on:\n" "\t# Install documentation\n" msgstr "" "post-install-DOCS-on:\n" "\t# Install documentation\n" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:286 #, no-wrap msgid "" "post-install-X11-on:\n" "\t# Install X11 related bits\n" msgstr "" "post-install-X11-on:\n" "\t# Install X11 related bits\n" #. type: delimited block . 4 #: documentation/content/en/books/porters-handbook/order/_index.adoc:289 #, no-wrap msgid "" "post-install-X11-off:\n" "\t# Install bits that should be there if X11 is disabled\n" msgstr "" "post-install-X11-off:\n" "\t# Install bits that should be there if X11 is disabled\n"