# 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-25 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/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: < 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"