Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-doc
Path: blob/main/documentation/content/ru/books/porters-handbook/pkg-files/_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.
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
"POT-Creation-Date: 2025-05-01 19:56-0300\n"
"PO-Revision-Date: 2025-11-25 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <[email protected]>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbookpkg-files_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/pkg-files/_index.adoc:1
#, no-wrap
msgid "Tricks about the pkg-* files"
msgstr "Хитрости с файлами pkg-*"

#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:1
#, no-wrap
msgid "Chapter 9. pkg-*"
msgstr "Глава 9. Файлы pkg-*"

#. type: Title =
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:14
#, no-wrap
msgid "pkg-*"
msgstr "pkg-*"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:52
msgid ""
"There are some tricks we have not mentioned yet about the [.filename]#pkg-*# "
"files that come in handy sometimes."
msgstr ""
"Есть несколько приёмов работы с файлами [.filename]#pkg-*#, которые мы ещё "
"не описали, но они иногда могут быть очень кстати."

#. type: Title ==
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:54
#, no-wrap
msgid "pkg-message"
msgstr "pkg-message"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:58
msgid ""
"To display a message when the package is installed, place the message in "
"[.filename]#pkg-message#.  This capability is often useful to display "
"additional installation steps to be taken after a `pkg install` or `pkg "
"upgrade`."
msgstr ""
"Если вам нужно вывести сообщение для человека, устанавливающего приложение, "
"то вы можете поместить сообщение в файл [.filename]#pkg-message#. Эта "
"возможность часто оказывается полезной для вывода дополнительных шагов "
"установки, которые нужно предпринять после выполнения команды `pkg install`, "
"или для вывода информации о лицензировании."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:62
msgid ""
"[.filename]#pkg-message# must contain only information that is _vital_ to "
"setup and operation on FreeBSD, and that is unique to the port in question."
msgstr ""
"Файл [.filename]#pkg-message# должен содержать только информацию, "
"_критически важную_ для настройки и работы в FreeBSD, а также уникальную для "
"данного порта."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:63
msgid ""
"Setup information should only be shown on initial install. Upgrade "
"instructions should be shown only when upgrading from the relevant version."
msgstr ""
"Информация по настройке должна отображаться только при первоначальной "
"установке. Инструкции по обновлению должны показываться только при "
"обновлении с соответствующей версии."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:64
msgid ""
"Do not surround the messages with either whitespace or lines of symbols "
"(like `----------`, `**********`, or `==========`). Leave the formatting to "
"man:pkg[8]."
msgstr ""
"Не обрамляйте сообщения ни пробелами, ни строками символов (такими как "
"`----------`, `**********` или `==========`). Оставьте форматирование "
"man:pkg[8]."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:65
msgid ""
"Committers have blanket approval to constrain existing messages to install "
"or upgrade ranges using the UCL format specifications."
msgstr ""
"Коммиттеры имеют полное право ограничивать существующие сообщения "
"диапазонами установки или обновления, используя спецификации формата UCL."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:66
msgid "Please be sure to refer to the proper tools for handling services."
msgstr ""
"Пожалуйста, убедитесь, что используете соответствующие инструменты для "
"управления службами."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:67
msgid ""
"Use `service name start` to start a service rather than using `/usr/local/"
"etc/rc.d/name start`"
msgstr ""
"Используйте `service имя start` для запуска службы вместо `/usr/local/etc/rc."
"d/имя start`"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:68
msgid "Use `sysrc name_enable=YES` to change options in rc.conf"
msgstr "Используйте `sysrc name_enable=YES` для изменения параметров в rc.conf"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:72
msgid "pkg-message supports two formats:"
msgstr "pkg-message поддерживает два формата:"

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:73
#, no-wrap
msgid "raw"
msgstr "raw"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:76
msgid "A regular plain text file.  Its message is only displayed on install."
msgstr ""
"Обычный текстовый файл. Его сообщение отображается только при установке."

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:77
#, no-wrap
msgid "UCL"
msgstr "UCL"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:80
msgid ""
"If the file starts with \"`[`\" then it is considered to be a UCL file.  The "
"UCL format is described on https://github.com/vstakhov/libucl[libucl's "
"GitHub page]."
msgstr ""
"Если файл начинается с символа \"`[`\", то он считается файлом в формате "
"UCL. Формат UCL описан на странице https://github.com/vstakhov/libucl["
"libucl's GitHub page]."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:84
msgid ""
"Do not add an entry for [.filename]#pkg-message# in [.filename]#pkg-plist#."
msgstr ""
"Не добавляйте запись для [.filename]#pkg-message# в [.filename]#pkg-plist#."

#. type: Title ===
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:87
#, no-wrap
msgid "UCL in pkg-message"
msgstr "UCL в pkg-message"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:92
msgid ""
"The format is the following.  It should be an array of objects.  The objects "
"themselves can have these keywords:"
msgstr ""
"Формат следующий. Это должен быть массив объектов. Сами объекты могут "
"содержать следующие ключевые слова:"

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:93
#, no-wrap
msgid "`message`"
msgstr "`message`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:96
msgid "The actual message to be displayed.  This keyword is mandatory."
msgstr "Отображаемое сообщение. Этот ключевой параметр является обязательным."

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:97
#, no-wrap
msgid "`type`"
msgstr "`type`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:99
msgid "When the message should be displayed."
msgstr "Когда сообщение должно быть отображено."

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:100
#, no-wrap
msgid "`maximum_version`"
msgstr "`maximum_version`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:103
msgid ""
"Only if `type` is `upgrade`.  Display if upgrading from a version strictly "
"lower than the version specified."
msgstr ""
"Только если `type` имеет значение `upgrade`. Отображается, если обновление "
"выполняется с версии строго ниже указанной."

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:104
#, no-wrap
msgid "`minimum_version`"
msgstr "`minimum_version`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:107
msgid ""
"Only if `type` is `upgrade`.  Display if upgrading from a version strictly "
"greater than the version specified."
msgstr ""
"Только если `type` имеет значение `upgrade`. Отображается, если обновление "
"выполняется с версии, строго большей, чем указанная."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:109
msgid "The `maximum_version` and `minimum_version` keywords can be combined."
msgstr ""
"Ключевые слова `maximum_version` и `minimum_version` можно комбинировать."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:111
msgid "The `type` keyword can have three values:"
msgstr "Ключевое слово `type` может иметь три значения:"

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:112
#, no-wrap
msgid "`install`"
msgstr "`install`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:114
msgid "The message should only be displayed when the package is installed."
msgstr "Сообщение должно отображаться только при установке пакета."

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:115
#, no-wrap
msgid "`remove`"
msgstr "`remove`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:117
msgid "The message should only be displayed when the package is removed."
msgstr "Сообщение должно отображаться только при удалении пакета."

#. type: Labeled list
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:118
#, no-wrap
msgid "`upgrade`"
msgstr "`upgrade`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:120
msgid "the message should only be displayed during an upgrade of the package.."
msgstr "сообщение должно отображаться только во время обновления пакета."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:125
msgid ""
"To preserve the compatibility with non UCL [.filename]#pkg-message# files, "
"the first line of a UCL [.filename]#pkg-message# _MUST be_ a single \"`[`\", "
"and the last line _MUST be_ a single \"`]`\"."
msgstr ""
"Для сохранения совместимости с файлами [.filename]#pkg-message#, не "
"использующими UCL, первая строка UCL [.filename]#pkg-message# _ДОЛЖНА быть_ "
"одиночным символом \"`[`\", а последняя строка _ДОЛЖНА быть_ одиночным "
"символом \"`]`\"."

#. type: Block title
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:128
#, no-wrap
msgid "UCL Short Strings"
msgstr "Короткие строки UCL"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:133
msgid ""
"The message is delimited by double quotes `\"`, this is used for simple "
"single line strings:"
msgstr ""
"Сообщение ограничено двойными кавычками `\"`, это используется для простых "
"однострочных строк:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:141
#, no-wrap
msgid ""
"[\n"
"{ type: install\n"
"  message: \"Simple message\"\n"
"}\n"
"]\n"
msgstr ""
"[\n"
"{ type: install\n"
"  message: \"Simple message\"\n"
"}\n"
"]\n"

#. type: Block title
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:146
#, no-wrap
msgid "UCL Multiline Strings"
msgstr "Многострочные строки UCL"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:154
msgid ""
"Multiline strings use the standard here document notation.  The multiline "
"delimiter _must_ start just after `<<` symbols without any whitespace and it "
"_must_ consist of capital letters only.  To finish a multiline string, add "
"the delimiter string on a line of its own without any whitespace.  The "
"message from crossref:pkg-files[porting-message-ucl-short-ex,UCL Short "
"Strings] can be written as:"
msgstr ""
"Многострочные строки используют стандартную нотацию heredoc. Разделитель "
"многострочной строки _должен_ начинаться сразу после символов `<<` без "
"пробелов и _должен_ состоять только из заглавных букв. Чтобы завершить "
"многострочную строку, добавьте строку-разделитель на отдельной строке без "
"пробелов. Сообщение из раздела crossref:pkg-files[porting-message-ucl-short-"
"ex,Короткие строки UCL] может быть записано как:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:164
#, no-wrap
msgid ""
"[\n"
"{ type: install\n"
"  message: <<EOM\n"
"Simple message\n"
"EOM\n"
"}\n"
"]\n"
msgstr ""
"[\n"
"{ type: install\n"
"  message: <<EOM\n"
"Simple message\n"
"EOM\n"
"}\n"
"]\n"

#. type: Block title
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:169
#, no-wrap
msgid "Display a Message on Install/Deinstall"
msgstr "Показать сообщение при установке/удалении"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:174
msgid ""
"When a message only needs to be displayed on installation or uninstallation, "
"set the type:"
msgstr ""
"Когда сообщение нужно отображать только при установке или удалении, укажите "
"тип:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:184
#, no-wrap
msgid ""
"[\n"
"{\n"
"  type: remove\n"
"  message: \"package being removed.\"\n"
"}\n"
"{ type: install, message: \"package being installed.\"}\n"
"]\n"
msgstr ""
"[\n"
"{\n"
"  type: remove\n"
"  message: \"package being removed.\"\n"
"}\n"
"{ type: install, message: \"package being installed.\"}\n"
"]\n"

#. type: Block title
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:189
#, no-wrap
msgid "Display a Message on Upgrade"
msgstr "Показать сообщение при обновлении"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:194
msgid ""
"When a port is upgraded, the message displayed can be even more tailored to "
"the port's needs."
msgstr ""
"При обновлении порта отображаемое сообщение может быть ещё более "
"адаптировано к потребностям порта."

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:219
#, no-wrap
msgid ""
"[\n"
"{\n"
"  type: upgrade\n"
"  message: \"Package is being upgraded.\"\n"
"}\n"
"{\n"
"  type: upgrade\n"
"  maximum_version: \"1.0\"\n"
"  message: \"Upgrading from before 1.0 need to do this.\"\n"
"}\n"
"{\n"
"  type: upgrade\n"
"  minimum_version: \"1.0\"\n"
"  message: \"Upgrading from after 1.0 should do that.\"\n"
"}\n"
"{\n"
"  type: upgrade\n"
"  maximum_version: \"3.0\"\n"
"  minimum_version: \"1.0\"\n"
"  message: \"Upgrading from > 1.0 and < 3.0 remove that file.\"\n"
"}\n"
"]\n"
msgstr ""
"[\n"
"{\n"
"  type: upgrade\n"
"  message: \"Package is being upgraded.\"\n"
"}\n"
"{\n"
"  type: upgrade\n"
"  maximum_version: \"1.0\"\n"
"  message: \"Upgrading from before 1.0 need to do this.\"\n"
"}\n"
"{\n"
"  type: upgrade\n"
"  minimum_version: \"1.0\"\n"
"  message: \"Upgrading from after 1.0 should do that.\"\n"
"}\n"
"{\n"
"  type: upgrade\n"
"  maximum_version: \"3.0\"\n"
"  minimum_version: \"1.0\"\n"
"  message: \"Upgrading from > 1.0 and < 3.0 remove that file.\"\n"
"}\n"
"]\n"

#. type: delimited block * 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:225
msgid ""
"When displaying a message on upgrade, it is important to limit when it is "
"being shown to the user.  Most of the time it is by using `maximum_version` "
"to limit its usage to upgrades from before a certain version when something "
"specific needs to be done."
msgstr ""
"При отображении сообщения во время обновления важно ограничить случаи, когда "
"оно показывается пользователю. Чаще всего это делается с помощью "
"`maximum_version`, чтобы ограничить его использование обновлениями до "
"определённой версии, когда требуется выполнить конкретное действие."

#. type: Title ==
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:230
#, no-wrap
msgid "pkg-install, pkg-pre-install, and pkg-post-install"
msgstr "pkg-install, pkg-pre-install и pkg-post-install"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:236
msgid ""
"If the port needs to execute commands when the binary package is installed "
"with `pkg add` or `pkg install`, use [.filename]#pkg-install#.  It is run "
"twice by `pkg`, the first time as `${SH} pkg-install ${PKGNAME} PRE-INSTALL` "
"before the package is installed, and the second time as `${SH} pkg-install $"
"{PKGNAME} POST-INSTALL` after it has been installed.  `$2` can be tested to "
"determine which mode the script is being run in.  The `PKG_PREFIX` "
"environment variable is set to the package installation directory."
msgstr ""
"Если порту необходимо выполнять команды при установке бинарного пакета с "
"помощью `pkg add` или `pkg install`, используйте [.filename]#pkg-install#. "
"Он запускается дважды через `pkg`: первый раз как `${SH} pkg-install "
"${PKGNAME} PRE-INSTALL` перед установкой пакета и второй раз как `${SH} pkg-"
"install ${PKGNAME} POST-INSTALL` после его установки. Переменная `$2` может "
"быть проверена, чтобы определить, в каком режиме выполняется скрипт. "
"Переменная окружения `PKG_PREFIX` устанавливается равной имени каталога "
"установки пакета."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:240
msgid ""
"If using [.filename]#pkg-pre-install# or [.filename]#pkg-post-install# "
"instead, the script is run only once (before or after installing the "
"package), with the single argument `${PKGNAME}`.  Using [.filename]#pkg-pre-"
"install.lua# or [.filename]#pkg-post-install.lua# will run a lua script "
"instead of a shell script.  Lua scripts run by `pkg` provide some extensions "
"and a few restrictions, both explained in man:pkg-lua-script[5]."
msgstr ""
"Если используется [.filename]#pkg-pre-install# или [.filename]#pkg-post-"
"install#, скрипт выполняется только один раз (до или после установки пакета)"
", с единственным аргументом `${PKGNAME}`. Использование [.filename]#pkg-pre-"
"install.lua# или [.filename]#pkg-post-install.lua# запускает скрипт на Lua "
"вместо shell-скрипта. Скрипты на Lua, выполняемые `pkg`, предоставляют "
"некоторые расширения и несколько ограничений, которые описаны в man:pkg-lua-"
"script[5]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:244
msgid ""
"Using [.filename]#pkg-pre-install# (or [.filename]#pkg-pre-install.lua#) and "
"[.filename]#pkg-post-install# (or [.filename]#pkg-post-install.lua#) is "
"preferred to using [.filename]#pkg-install#."
msgstr ""
"Использование [.filename]#pkg-pre-install# (или [.filename]#pkg-pre-install."
"lua#) и [.filename]#pkg-post-install# (или [.filename]#pkg-post-install.lua#)"
" предпочтительнее, чем использование [.filename]#pkg-install#."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:247
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:274
msgid "These scripts are automatically added to the packing list."
msgstr "Эти скрипты автоматически добавляются в список упаковки."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:252
msgid ""
"These scripts are here to simplify package configuration after "
"installation.  They _must not_ be abused to start services, stop services, "
"or run any other commands that will modify the currently running system."
msgstr ""
"Эти скрипты предназначены для упрощения настройки пакетов после установки. "
"Они _не должны_ использоваться для запуска служб, остановки служб или "
"выполнения любых других команд, которые изменяют текущую работающую систему."

#. type: Title ==
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:255
#, no-wrap
msgid "pkg-deinstall, pkg-pre-deinstall, and pkg-post-deinstall"
msgstr "pkg-deinstall, pkg-pre-deinstall и pkg-post-deinstall"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:258
msgid "These scripts execute when a package is removed."
msgstr "Эти скрипты выполняются при удалении пакета."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:263
msgid ""
"The [.filename]#pkg-deinstall# script is run twice by `pkg delete`.  The "
"first time as `${SH} pkg-deinstall ${PKGNAME} DEINSTALL` before the port is "
"de-installed and the second time as `${SH} pkg-deinstall ${PKGNAME} POST-"
"DEINSTALL` after the port has been de-installed.  `$2` can be tested to "
"determine which mode the script is being run in.  The `PKG_PREFIX` "
"environment variable is set to the package installation directory."
msgstr ""
"Скрипт [.filename]#pkg-deinstall# выполняется дважды командой `pkg delete`. "
"Первый раз как `${SH} pkg-deinstall ${PKGNAME} DEINSTALL` до удаления порта "
"и второй раз как `${SH} pkg-deinstall ${PKGNAME} POST-DEINSTALL` после "
"удаления порта. Переменная `$2` может быть проверена для определения режима, "
"в котором выполняется скрипт. Переменная окружения `PKG_PREFIX` "
"устанавливается в каталог установки пакета."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:267
msgid ""
"If using [.filename]#pkg-pre-deinstall# or [.filename]#pkg-post-deinstall# "
"instead, the script is run only once (before or after deinstalling the "
"package), with the single argument `${PKGNAME}`.  Using [.filename]#pkg-pre-"
"deinstall.lua# or [.filename]#pkg-post-deinstall.lua# will run a lua script "
"instead of a shell script.  Lua scripts run by `pkg` provide some extensions "
"and a few restrictions, both explained in man:pkg-lua-script[5]."
msgstr ""
"Если используется [.filename]#pkg-pre-deinstall# или [.filename]#pkg-post-"
"deinstall#, скрипт выполняется только один раз (до или после удаления пакета)"
" с единственным аргументом `${PKGNAME}`. Использование [.filename]#pkg-pre-"
"deinstall.lua# или [.filename]#pkg-post-deinstall.lua# запустит скрипт на "
"Lua вместо shell-скрипта. Скрипты на Lua, выполняемые `pkg`, предоставляют "
"некоторые расширения и ограничения, которые описаны в man:pkg-lua-script[5]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:271
msgid ""
"Using [.filename]#pkg-pre-deinstall# (or [.filename]#pkg-pre-deinstall.lua#) "
"and [.filename]#pkg-post-deinstall# (or [.filename]#pkg-post-deinstall.lua#) "
"is preferred to using [.filename]#pkg-deinstall#."
msgstr ""
"Использование [.filename]#pkg-pre-deinstall# (или [.filename]#pkg-pre-"
"deinstall.lua#) и [.filename]#pkg-post-deinstall# (или [.filename]#pkg-post-"
"deinstall.lua#) предпочтительнее, чем использование [.filename]#pkg-"
"deinstall#."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:279
msgid ""
"These scripts are here to simplify cleanup after package deinstallation.  "
"They _must not_ be abused to start services, stop services, or run any other "
"commands that will modify the currently running system."
msgstr ""
"Эти скрипты предназначены для упрощения очистки после удаления пакетов. Они "
"_не должны_ использоваться для запуска служб, остановки служб или выполнения "
"любых других команд, которые изменяют текущую работающую систему."

#. type: Title ==
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:282
#, no-wrap
msgid "Changing the Names of pkg-*"
msgstr "Изменение имён файлов [.filename]#pkg-*#"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:287
msgid ""
"All the names of [.filename]#pkg-\\*# are defined using variables that can "
"be changed in the [.filename]#Makefile# if needed.  This is especially "
"useful when sharing the same [.filename]#pkg-*# files among several ports or "
"when it is necessary to write to one of these files.  See crossref:porting-"
"dads[porting-wrkdir,writing to places other than `WRKDIR`] for why it is a "
"bad idea to write directly into the directory containing the [.filename]#pkg-"
"*# files."
msgstr ""
"Все имена файлов [.filename]#pkg-\\*# определяются с помощью переменных, так "
"что вы можете изменить их, если это нужно, в вашем файле [."
"filename]#Makefile#. Это особенно полезно, если вы используете одни и те же "
"файлы [.filename]#pkg-*# совместно между несколькими портами или пишете в "
"один из вышеперечисленных файлов (в главе о crossref:porting-dads[porting-"
"wrkdir,\"записи в каталоги, отличные от ``WRKDIR``\"] объяснено, почему не "
"рекомендуется осуществлять запись непосредственно в файлы [."
"filename]#pkg-*#)."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:290
msgid ""
"Here is a list of variable names and their default values.  (`PKGDIR` "
"defaults to `${MASTERDIR}`.)"
msgstr ""
"Вот список имён переменных и их значений по умолчанию. (Значение `PKGDIR` по "
"умолчанию равно `${MASTERDIR}`.)"

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

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:297
#, no-wrap
msgid "Default value"
msgstr "Значение по умолчанию"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:298
#, no-wrap
msgid "`DESCR`"
msgstr "`DESCR`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:300
#, no-wrap
msgid "`${PKGDIR}/pkg-descr`"
msgstr "`${PKGDIR}/pkg-descr`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:301
#, no-wrap
msgid "`PLIST`"
msgstr "`PLIST`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:303
#, no-wrap
msgid "`${PKGDIR}/pkg-plist`"
msgstr "`${PKGDIR}/pkg-plist`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:304
#, no-wrap
msgid "`PKGINSTALL`"
msgstr "`PKGINSTALL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:306
#, no-wrap
msgid "`${PKGDIR}/pkg-install`"
msgstr "`${PKGDIR}/pkg-install`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:307
#, no-wrap
msgid "`PKGPREINSTALL`"
msgstr "`PKGPREINSTALL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:309
#, no-wrap
msgid "`${PKGDIR}/pkg-pre-install`"
msgstr "`${PKGDIR}/pkg-pre-install`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:310
#, no-wrap
msgid "`PKGPOSTINSTALL`"
msgstr "`PKGPOSTINSTALL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:312
#, no-wrap
msgid "`${PKGDIR}/pkg-post-install`"
msgstr "`${PKGDIR}/pkg-post-install`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:313
#, no-wrap
msgid "`PKGDEINSTALL`"
msgstr "`PKGDEINSTALL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:315
#, no-wrap
msgid "`${PKGDIR}/pkg-deinstall`"
msgstr "`${PKGDIR}/pkg-deinstall`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:316
#, no-wrap
msgid "`PKGPREDEINSTALL`"
msgstr "`PKGPREDEINSTALL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:318
#, no-wrap
msgid "`${PKGDIR}/pkg-pre-deinstall`"
msgstr "`${PKGDIR}/pkg-pre-deinstall`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:319
#, no-wrap
msgid "`PKGPOSTDEINSTALL`"
msgstr "`PKGPOSTDEINSTALL`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:321
#, no-wrap
msgid "`${PKGDIR}/pkg-post-deinstall`"
msgstr "`${PKGDIR}/pkg-post-deinstall`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:322
#, no-wrap
msgid "`PKGMESSAGE`"
msgstr "`PKGMESSAGE`"

#. type: Table
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:323
#, no-wrap
msgid "`${PKGDIR}/pkg-message`"
msgstr "`${PKGDIR}/pkg-message`"

#. type: Title ==
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:326
#, no-wrap
msgid "Making Use of `SUB_FILES` and `SUB_LIST`"
msgstr "Использование `SUB_FILES` и `SUB_LIST`"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:329
msgid ""
"`SUB_FILES` and `SUB_LIST` are useful for dynamic values in port files, such "
"as the installation `PREFIX` in [.filename]#pkg-message#."
msgstr ""
"Переменные `SUB_FILES` и `SUB_LIST` подходят для задания в файлах порта "
"динамических значений, таких как `PREFIX` установки в [.filename]#pkg-"
"message#."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:335
msgid ""
"`SUB_FILES` specifies a list of files to be automatically modified.  Each "
"[.filename]#file# in the `SUB_FILES` list must have a corresponding "
"[.filename]#file.in# present in `FILESDIR`.  A modified version will be "
"created as [.filename]#${WRKDIR}/file#.  Files defined as a value of "
"`USE_RC_SUBR` are automatically added to `SUB_FILES`.  For the files "
"[.filename]#pkg-message#, [.filename]#pkg-install#, and [.filename]#pkg-"
"deinstall#, the corresponding Makefile variable is automatically set to "
"point to the processed version."
msgstr ""
"В переменной `SUB_FILES` указывается перечень файлов для автоматического "
"изменения. Каждый _file_ из перечня `SUB_FILES` обязан иметь соответствующий "
"[.filename]#file.in#, присутствующий в `FILESDIR`. Измененная версия будет "
"создана в `WRKDIR`. Файлы, определённые в качестве значения `USE_RC_SUBR` ("
"или устаревшего `USE_RCORDER`), автоматически добавляются в `SUB_FILES`. Для "
"файлов [.filename]#pkg-message#, [.filename]#pkg-install# и [.filename]#pkg-"
"deinstall# устанавливается соответствующая переменная Makefile, указывающая "
"на обработанную версию."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:340
msgid ""
"`SUB_LIST` is a list of `VAR=VALUE` pairs.  For each pair, `%%VAR%%` will be "
"replaced with `VALUE` in each file listed in `SUB_FILES`.  Several common "
"pairs are automatically defined: `PREFIX`, `LOCALBASE`, `DATADIR`, "
"`DOCSDIR`, `EXAMPLESDIR`, `WWWDIR`, and `ETCDIR`.  Any line beginning with "
"`@comment` followed by a space, will be deleted from resulting files after a "
"variable substitution."
msgstr ""
"Переменная `SUB_LIST` содержит перечень пар `VAR=VALUE`. В каждом файле из "
"`SUB_FILES` для каждой пары будет произведена замена `%%VAR%%` на `VALUE`. "
"Некоторые общие пары определяются автоматически: `PREFIX`, `LOCALBASE`, "
"`DATADIR`, `DOCSDIR`, `EXAMPLESDIR`, `WWWDIR` и `ETCDIR`. Любая строка, "
"начинающаяся с `@comment`, будет удалена из конечного файла после "
"подстановки переменной."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:342
msgid ""
"This example replaces `%%ARCH%%` with the system architecture in a "
"[.filename]#pkg-message#:"
msgstr ""
"В следующем примере в [.filename]#pkg-message# будет сделана замена "
"`%%ARCH%%` на системную архитектуру:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:347
#, no-wrap
msgid ""
"SUB_FILES=\tpkg-message\n"
"SUB_LIST=\tARCH=${ARCH}\n"
msgstr ""
"SUB_FILES=\tpkg-message\n"
"SUB_LIST=\tARCH=${ARCH}\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:350
msgid ""
"Note that for this example, [.filename]#pkg-message.in# must exist in "
"`FILESDIR`."
msgstr ""
"Обратите внимание, что в этом примере в `FILESDIR` обязательно существование "
"файла [.filename]#pkg-message.in#."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:352
msgid "Example of a good [.filename]#pkg-message.in#:"
msgstr "Пример хорошего [.filename]#pkg-message.in#:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/pkg-files/_index.adoc:358
#, no-wrap
msgid ""
"Now it is time to configure this package.\n"
"Copy %%PREFIX%%/shared/examples/putsy/%%ARCH%%.conf into your home directory\n"
"as .putsy.conf and edit it.\n"
msgstr ""
"Now it is time to configure this package.\n"
"Copy %%PREFIX%%/shared/examples/putsy/%%ARCH%%.conf into your home "
"directory\n"
"as .putsy.conf and edit it.\n"