mirror of
https://git.FreeBSD.org/doc.git
synced 2026-06-02 19:35:07 +00:00
update translation of books/porters-handbook to Russian
Reviewed by: andy Differential Revision: https://reviews.freebsd.org/В56931
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
# SOME DESCRIPTIVE TITLE
|
||||
# Copyright (C) YEAR The FreeBSD Project
|
||||
# This file is distributed under the same license as the FreeBSD Documentation package.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreeBSD Documentation VERSION\n"
|
||||
"POT-Creation-Date: 2025-05-01 19:56-0300\n"
|
||||
"PO-Revision-Date: 2025-07-12 04:45+0000\n"
|
||||
"PO-Revision-Date: 2026-03-23 04:45+0000\n"
|
||||
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
|
||||
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
|
||||
"documentation/booksporters-handbook_index/ru/>\n"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# SOME DESCRIPTIVE TITLE
|
||||
# Copyright (C) YEAR The FreeBSD Project
|
||||
# This file is distributed under the same license as the FreeBSD Documentation package.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreeBSD Documentation VERSION\n"
|
||||
"POT-Creation-Date: 2022-02-01 09:20-0300\n"
|
||||
"PO-Revision-Date: 2025-07-12 04:45+0000\n"
|
||||
"PO-Revision-Date: 2026-03-23 04:45+0000\n"
|
||||
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
|
||||
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
|
||||
"documentation/booksporters-handbookbook/ru/>\n"
|
||||
|
||||
@@ -990,7 +990,7 @@ FreeBSD стремится поддерживать родной язык сво
|
||||
|
||||
Наша текущая практика заключается в том, чтобы избегать создания новой физической категории, если только либо большое количество портов логически принадлежит к ней, либо порты, которые к ней относятся, представляют собой логически обособленную группу, представляющую ограниченный общий интерес (например, категории, связанные с разговорными человеческими языками), или, желательно, оба условия одновременно.
|
||||
|
||||
Обоснование этого заключается в том, что такое изменение создает extref:{committers-guide}[значительный объём работы, ports] как для коммиттеров, так и для всех пользователей, которые отслеживают изменения в Коллекции портов. Кроме того, предлагаемые изменения категорий, как правило, вызывают споры. (Возможно, это связано с отсутствием четкого консенсуса относительно того, когда категория становится «слишком большой», а также относительно того, должны ли категории способствовать удобству просмотра (и, следовательно, какое количество категорий было бы идеальным), и так далее.)
|
||||
Обоснование этого заключается в том, что такое изменение создаёт extref:{committers-guide}[значительный объём работы, ports] как для коммиттеров, так и для всех пользователей, которые отслеживают изменения в Коллекции портов. Кроме того, предлагаемые изменения категорий, как правило, вызывают споры. (Возможно, это связано с отсутствием четкого консенсуса относительно того, когда категория становится «слишком большой», а также относительно того, должны ли категории способствовать удобству просмотра (и, следовательно, какое количество категорий было бы идеальным), и так далее.)
|
||||
|
||||
Вот процедура:
|
||||
|
||||
@@ -4579,7 +4579,7 @@ DISTVERSION= 1.0
|
||||
[[makefile-wrksrc]]
|
||||
=== `WRKSRC`
|
||||
|
||||
Переменная указывает имя каталога, который создается при распаковке distfiles приложения. Чтобы в нашем предыдущем примере распаковка происходила в каталог с именем [.filename]#foo# (а не [.filename]#foo-1.0#), напишите:
|
||||
Переменная указывает имя каталога, который создаётся при распаковке distfiles приложения. Чтобы в нашем предыдущем примере распаковка происходила в каталог с именем [.filename]#foo# (а не [.filename]#foo-1.0#), напишите:
|
||||
|
||||
[.programlisting]
|
||||
....
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreeBSD Documentation VERSION\n"
|
||||
"POT-Creation-Date: 2026-02-22 15:58+0000\n"
|
||||
"PO-Revision-Date: 2026-03-05 13:41+0000\n"
|
||||
"PO-Revision-Date: 2026-04-05 04:45+0000\n"
|
||||
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
|
||||
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
|
||||
"documentation/booksporters-handbookmakefiles_index/ru/>\n"
|
||||
@@ -3222,8 +3222,8 @@ msgid ""
|
||||
"nor whether categories should lend themselves to browsing (and thus what "
|
||||
"number of categories would be an ideal number), and so forth.)"
|
||||
msgstr ""
|
||||
"Обоснование этого заключается в том, что такое изменение создает extref:"
|
||||
"{committers-guide}[значительный объём работы, ports] как для коммиттеров, "
|
||||
"Обоснование этого заключается в том, что такое изменение создаёт extref"
|
||||
":{committers-guide}[значительный объём работы, ports] как для коммиттеров, "
|
||||
"так и для всех пользователей, которые отслеживают изменения в Коллекции "
|
||||
"портов. Кроме того, предлагаемые изменения категорий, как правило, вызывают "
|
||||
"споры. (Возможно, это связано с отсутствием четкого консенсуса относительно "
|
||||
@@ -13021,7 +13021,7 @@ msgid ""
|
||||
"into a directory called [.filename]#foo# (and not [.filename]#foo-1.0#) "
|
||||
"write:"
|
||||
msgstr ""
|
||||
"Переменная указывает имя каталога, который создается при распаковке "
|
||||
"Переменная указывает имя каталога, который создаётся при распаковке "
|
||||
"distfiles приложения. Чтобы в нашем предыдущем примере распаковка "
|
||||
"происходила в каталог с именем [.filename]#foo# (а не [.filename]#foo-1.0#), "
|
||||
"напишите:"
|
||||
|
||||
@@ -229,7 +229,7 @@ PLIST_SUB= PERL_ARCH=mach
|
||||
/usr/local/lib/perl5/site_perl/mach/5.20/Machine/Build/Build.so
|
||||
....
|
||||
|
||||
Запуск `make makeplist` ошибочно создает:
|
||||
Запуск `make makeplist` ошибочно создаёт:
|
||||
|
||||
[.programlisting]
|
||||
....
|
||||
@@ -319,7 +319,7 @@ bin/machine-build
|
||||
[[plist-keywords-rmtry]]
|
||||
=== `@rmtry` _файл_
|
||||
|
||||
Удаляет файл при удалении и не выдает ошибку, если файл отсутствует.
|
||||
Удаляет файл при удалении и не выдаёт ошибку, если файл отсутствует.
|
||||
|
||||
[[plist-keywords-sample]]
|
||||
=== `@sample` _файл_ [_файл_]
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# SOME DESCRIPTIVE TITLE
|
||||
# Copyright (C) YEAR The FreeBSD Project
|
||||
# This file is distributed under the same license as the FreeBSD Documentation package.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025, 2026.
|
||||
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"
|
||||
"PO-Revision-Date: 2026-04-05 04:45+0000\n"
|
||||
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
|
||||
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
|
||||
"documentation/booksporters-handbookplist_index/ru/>\n"
|
||||
@@ -651,7 +651,7 @@ msgstr ""
|
||||
#. type: Plain text
|
||||
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:273
|
||||
msgid "Running `make makeplist` wrongly generates:"
|
||||
msgstr "Запуск `make makeplist` ошибочно создает:"
|
||||
msgstr "Запуск `make makeplist` ошибочно создаёт:"
|
||||
|
||||
#. type: delimited block . 4
|
||||
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:281
|
||||
@@ -870,7 +870,7 @@ msgstr "`@rmtry` _файл_"
|
||||
msgid ""
|
||||
"Will remove the file on deinstallation, and not give an error if the file is "
|
||||
"not there."
|
||||
msgstr "Удаляет файл при удалении и не выдает ошибку, если файл отсутствует."
|
||||
msgstr "Удаляет файл при удалении и не выдаёт ошибку, если файл отсутствует."
|
||||
|
||||
#. type: Title ===
|
||||
#: documentation/content/en/books/porters-handbook/plist/_index.adoc:376
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreeBSD Documentation VERSION\n"
|
||||
"POT-Creation-Date: 2026-02-22 15:58+0000\n"
|
||||
"PO-Revision-Date: 2026-03-04 20:01+0000\n"
|
||||
"PO-Revision-Date: 2026-03-08 09:11+0000\n"
|
||||
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
|
||||
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
|
||||
"documentation/booksporters-handbookporting-dads_index/ru/>\n"
|
||||
|
||||
@@ -107,7 +107,7 @@ pre-install:
|
||||
.include <bsd.port.mk> <18>
|
||||
....
|
||||
|
||||
<1> Секция для описания самого порта и его главного сайта: первыми идут переменные PORTNAME и PORTVERSION или DISTVERSION*, на ними CATEGORIES, затем MASTER_SITES, после которой идёт MASTER_SITE_SUBDIR. Если нужно, то после нее идут PKGNAMEPREFIX и PKGNAMESUFFIX. Затем следуют DISTNAME, EXTRACT_SUFX и/или DISTFILES, и уже потом, если нужно, EXTRACT_ONLY.
|
||||
<1> Секция для описания самого порта и его главного сайта: первыми идут переменные PORTNAME и PORTVERSION или DISTVERSION*, на ними CATEGORIES, затем MASTER_SITES, после которой идёт MASTER_SITE_SUBDIR. Если нужно, то после неё идут PKGNAMEPREFIX и PKGNAMESUFFIX. Затем следуют DISTNAME, EXTRACT_SUFX и/или DISTFILES, и уже потом, если нужно, EXTRACT_ONLY.
|
||||
<2> Не забывайте про завершающую косую черту (`/`), если вы не используете макросы MASTER_SITE_*.
|
||||
<3> Задайте это, если исходный код поставляется не в виде стандартного файла ".tar.gz".
|
||||
<4> Секция патчей — может быть пустой.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# SOME DESCRIPTIVE TITLE
|
||||
# Copyright (C) YEAR The FreeBSD Project
|
||||
# This file is distributed under the same license as the FreeBSD Documentation package.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreeBSD Documentation VERSION\n"
|
||||
"POT-Creation-Date: 2025-08-17 20:54+0100\n"
|
||||
"PO-Revision-Date: 2025-11-25 04:45+0000\n"
|
||||
"PO-Revision-Date: 2026-04-05 04:45+0000\n"
|
||||
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
|
||||
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
|
||||
"documentation/booksporters-handbookporting-samplem_index/ru/>\n"
|
||||
@@ -224,7 +224,7 @@ msgstr ""
|
||||
"Секция для описания самого порта и его главного сайта: первыми идут "
|
||||
"переменные PORTNAME и PORTVERSION или DISTVERSION*, на ними CATEGORIES, "
|
||||
"затем MASTER_SITES, после которой идёт MASTER_SITE_SUBDIR. Если нужно, то "
|
||||
"после нее идут PKGNAMEPREFIX и PKGNAMESUFFIX. Затем следуют DISTNAME, "
|
||||
"после неё идут PKGNAMEPREFIX и PKGNAMESUFFIX. Затем следуют DISTNAME, "
|
||||
"EXTRACT_SUFX и/или DISTFILES, и уже потом, если нужно, EXTRACT_ONLY."
|
||||
|
||||
#. type: Plain text
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# SOME DESCRIPTIVE TITLE
|
||||
# Copyright (C) YEAR The FreeBSD Project
|
||||
# This file is distributed under the same license as the FreeBSD Documentation package.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreeBSD Documentation VERSION\n"
|
||||
"POT-Creation-Date: 2025-05-01 19:56-0300\n"
|
||||
"PO-Revision-Date: 2025-12-02 04:45+0000\n"
|
||||
"PO-Revision-Date: 2026-03-08 09:11+0000\n"
|
||||
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
|
||||
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
|
||||
"documentation/booksporters-handbookporting-why_index/ru/>\n"
|
||||
|
||||
@@ -162,7 +162,7 @@ PLIST_FILES= bin/oneko \
|
||||
|
||||
[TIP]
|
||||
====
|
||||
Если порту требуется создать пустой каталог или он создает каталоги вне [.filename]#${PREFIX}# во время установки, обратитесь к разделу crossref:plist[plist-dir-cleaning,Очистка пустых каталогов] для получения дополнительной информации.
|
||||
Если порту требуется создать пустой каталог или он создаёт каталоги вне [.filename]#${PREFIX}# во время установки, обратитесь к разделу crossref:plist[plist-dir-cleaning,Очистка пустых каталогов] для получения дополнительной информации.
|
||||
====
|
||||
|
||||
[TIP]
|
||||
@@ -203,7 +203,7 @@ PLIST_FILES= "@sample ${ETCDIR}/oneko.conf.sample"
|
||||
. `make deinstall`
|
||||
. `make package` (как пользователь)
|
||||
|
||||
Убедитесь, что на любом из этапов не выдается никаких предупреждений.
|
||||
Убедитесь, что на любом из этапов не выдаётся никаких предупреждений.
|
||||
|
||||
Тщательное автоматизированное тестирование можно выполнить с помощью package:ports-mgmt/poudriere[] из коллекции портов, дополнительную информацию см. в crossref:testing[testing-poudriere,poudriere]. Он поддерживает `клетки`, в которых можно протестировать все указанные выше шаги без воздействия на состояние основной системы.
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# SOME DESCRIPTIVE TITLE
|
||||
# Copyright (C) YEAR The FreeBSD Project
|
||||
# This file is distributed under the same license as the FreeBSD Documentation package.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
|
||||
# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreeBSD Documentation VERSION\n"
|
||||
"POT-Creation-Date: 2025-05-01 19:56-0300\n"
|
||||
"PO-Revision-Date: 2025-09-05 04:45+0000\n"
|
||||
"PO-Revision-Date: 2026-04-05 04:45+0000\n"
|
||||
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
|
||||
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
|
||||
"documentation/booksporters-handbookquick-porting_index/ru/>\n"
|
||||
@@ -369,7 +369,7 @@ msgid ""
|
||||
"of [.filename]#${PREFIX}# during installation, refer to crossref:plist[plist-"
|
||||
"dir-cleaning,Cleaning Up Empty Directories] for more information."
|
||||
msgstr ""
|
||||
"Если порту требуется создать пустой каталог или он создает каталоги вне [."
|
||||
"Если порту требуется создать пустой каталог или он создаёт каталоги вне [."
|
||||
"filename]#${PREFIX}# во время установки, обратитесь к разделу crossref:plist"
|
||||
"[plist-dir-cleaning,Очистка пустых каталогов] для получения дополнительной "
|
||||
"информации."
|
||||
@@ -530,7 +530,7 @@ msgstr "`make package` (как пользователь)"
|
||||
#. type: delimited block = 4
|
||||
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:232
|
||||
msgid "Make certain no warnings are shown in any of the stages."
|
||||
msgstr "Убедитесь, что на любом из этапов не выдается никаких предупреждений."
|
||||
msgstr "Убедитесь, что на любом из этапов не выдаётся никаких предупреждений."
|
||||
|
||||
#. type: delimited block = 4
|
||||
#: documentation/content/en/books/porters-handbook/quick-porting/_index.adoc:235
|
||||
|
||||
@@ -227,7 +227,7 @@ endif::[]
|
||||
% make validate
|
||||
....
|
||||
|
||||
Предыдущая команда создает файл [.filename]#vuln-flat.xml#. Его также можно создать с помощью:
|
||||
Предыдущая команда создаёт файл [.filename]#vuln-flat.xml#. Его также можно создать с помощью:
|
||||
|
||||
[source, shell]
|
||||
....
|
||||
@@ -246,7 +246,7 @@ endif::[]
|
||||
% pkg audit -f ${PORTSDIR}/security/vuxml/vuln-flat.xml dropbear-2013.58
|
||||
....
|
||||
|
||||
Убедитесь, что запись не создает ложных совпадений в выводе.
|
||||
Убедитесь, что запись не создаёт ложных совпадений в выводе.
|
||||
|
||||
Теперь проверьте, соответствуют ли записи правильные версии пакетов:
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreeBSD Documentation VERSION\n"
|
||||
"POT-Creation-Date: 2025-08-17 20:54+0100\n"
|
||||
"PO-Revision-Date: 2026-03-04 20:01+0000\n"
|
||||
"PO-Revision-Date: 2026-04-05 04:45+0000\n"
|
||||
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
|
||||
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
|
||||
"documentation/booksporters-handbooksecurity_index/ru/>\n"
|
||||
@@ -697,7 +697,7 @@ msgid ""
|
||||
"The previous command generates the [.filename]#vuln-flat.xml# file. It can "
|
||||
"also be generated with:"
|
||||
msgstr ""
|
||||
"Предыдущая команда создает файл [.filename]#vuln-flat.xml#. Его также можно "
|
||||
"Предыдущая команда создаёт файл [.filename]#vuln-flat.xml#. Его также можно "
|
||||
"создать с помощью:"
|
||||
|
||||
#. type: delimited block . 4
|
||||
@@ -732,7 +732,7 @@ msgstr "% pkg audit -f ${PORTSDIR}/security/vuxml/vuln-flat.xml dropbear-2013.58
|
||||
#. type: Plain text
|
||||
#: documentation/content/en/books/porters-handbook/security/_index.adoc:301
|
||||
msgid "Make sure that the entry produces no spurious matches in the output."
|
||||
msgstr "Убедитесь, что запись не создает ложных совпадений в выводе."
|
||||
msgstr "Убедитесь, что запись не создаёт ложных совпадений в выводе."
|
||||
|
||||
#. type: Plain text
|
||||
#: documentation/content/en/books/porters-handbook/security/_index.adoc:303
|
||||
|
||||
@@ -67,7 +67,7 @@ endif::[]
|
||||
|
||||
. Выполняется цель `build`. Она отвечает за переход в собственный рабочий каталог порта (`WRKSRC`) и его построение.
|
||||
. Выполняется цель `stage`. Конечный набор построенных файлов помещается во временный каталог (`STAGEDIR`, смотрите crossref:special[staging,Staging]). Иерархия этого каталога отражает иерархию каталогов системы, в которую данный пакет будет устанавливаться.
|
||||
. Выполняется цель `package`. При этом создается пакет с использованием файлов из временного каталога, созданного во время выполнения цели `stage`, и файла [.filename]#pkg-plist# порта.
|
||||
. Выполняется цель `package`. При этом создаётся пакет с использованием файлов из временного каталога, созданного во время выполнения цели `stage`, и файла [.filename]#pkg-plist# порта.
|
||||
. Выполняется цель `install`. Это устанавливает пакет, созданный во время цели `package`, в хост-систему.
|
||||
|
||||
Выше перечислены стандартные действия. Кроме того, вы сами можете определить цели `pre-_что-то_` или `post-_что-то_`, или создать скрипты с такими именами в подкаталоге [.filename]#scripts#, и они будут запущены до или после выполнения действий по умолчанию.
|
||||
@@ -158,7 +158,7 @@ endif::[]
|
||||
% diff -u file.orig file > patch-pathname-file
|
||||
....
|
||||
|
||||
Для порождении патчей для новых добавляемых файлов используется параметр `-N`, который заставляет man:diff[1] трактовать несуществующие прежде файлы как если бы они существовали, но имели пустое содержимое:
|
||||
При создании патчей с новыми файлами, добавляемыми в репозиторий, используется параметр `-N`, который заставляет man:diff[1] трактовать несуществующие прежде файлы как если бы они существовали, но имели пустое содержимое:
|
||||
|
||||
[source, shell]
|
||||
....
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreeBSD Documentation VERSION\n"
|
||||
"POT-Creation-Date: 2025-05-01 19:56-0300\n"
|
||||
"PO-Revision-Date: 2026-03-04 20:01+0000\n"
|
||||
"PO-Revision-Date: 2026-04-05 04:45+0000\n"
|
||||
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
|
||||
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
|
||||
"documentation/booksporters-handbookslow-porting_index/ru/>\n"
|
||||
@@ -174,7 +174,7 @@ msgid ""
|
||||
"temporary directory created during the `stage` target and the port's "
|
||||
"[.filename]#pkg-plist#."
|
||||
msgstr ""
|
||||
"Выполняется цель `package`. При этом создается пакет с использованием файлов "
|
||||
"Выполняется цель `package`. При этом создаётся пакет с использованием файлов "
|
||||
"из временного каталога, созданного во время выполнения цели `stage`, и файла "
|
||||
"[.filename]#pkg-plist# порта."
|
||||
|
||||
@@ -633,9 +633,10 @@ msgid ""
|
||||
"man:diff[1] to treat the non-existent original file as if it existed but was "
|
||||
"empty:"
|
||||
msgstr ""
|
||||
"Для порождении патчей для новых добавляемых файлов используется параметр `-N`"
|
||||
", который заставляет man:diff[1] трактовать несуществующие прежде файлы как "
|
||||
"если бы они существовали, но имели пустое содержимое:"
|
||||
"При создании патчей с новыми файлами, добавляемыми в репозиторий, "
|
||||
"используется параметр `-N`, который заставляет man:diff[1] трактовать "
|
||||
"несуществующие прежде файлы как если бы они существовали, но имели пустое "
|
||||
"содержимое:"
|
||||
|
||||
#. type: delimited block . 4
|
||||
#: documentation/content/en/books/porters-handbook/slow-porting/_index.adoc:207
|
||||
|
||||
@@ -303,7 +303,7 @@ IGNORE= may not be redistributed because of licensing reasons. Please visit some
|
||||
|
||||
`MAKE_CMD` может использоваться для ссылки на конкретную команду, настроенную параметром `USES` в [.filename]#Makefile# порта. Используйте `MAKE_CMD` только внутри [.filename]##Makefile## приложения в `WRKSRC` для вызова реализации `make`, ожидаемой портируемым программным обеспечением.
|
||||
|
||||
Если ваш порт является приложением X, которое создает файлы [.filename]#Makefile# из [.filename]#Imakefile#, используя imake, то установите `USES= imake`. Это заставит стадию конфигурирования автоматически выполнить `xmkmf -a`. Если флаг `-a` представляет для вашего порта проблему, то установите `XMKMF=xmkmf`. Если порт использует imake, но не понимает цель `install.man`, то следует установить `NO_INSTALL_MANPAGES=yes`.
|
||||
Если ваш порт является приложением X, которое создаёт файлы [.filename]#Makefile# из [.filename]#Imakefile#, используя imake, то установите `USES= imake`. Это заставит стадию конфигурирования автоматически выполнить `xmkmf -a`. Если флаг `-a` представляет для вашего порта проблему, то установите `XMKMF=xmkmf`. Если порт использует imake, но не понимает цель `install.man`, то следует установить `NO_INSTALL_MANPAGES=yes`.
|
||||
|
||||
Если исходный [.filename]#Makefile# вашего порта имеет что-нибудь помимо `all` в качестве основной цели построения, то задайте соответствующее значение `ALL_TARGET`. То же касается `install` и `INSTALL_TARGET`.
|
||||
|
||||
@@ -900,6 +900,33 @@ GO_TARGET= ./dnscrypt-proxy:${PREFIX}/sbin/dnscrypt-proxy
|
||||
установит `dnscrypt-proxy` в `${PREFIX}/sbin`.
|
||||
====
|
||||
|
||||
[[overriding-go-mod]]
|
||||
.Переопределение go.mod в режиме модулей (Modules Mode)
|
||||
[example]
|
||||
====
|
||||
Во время фазы fetch режим, поддерживающий модули (то есть `USES=go:modules`), получает исходные коды зависимых пакетов, загружая [.filename]#go.mod# порта и затем немедленно выполняя против него `go mod download`. Поскольку фаза fetch происходит задолго до этапа наложения патчей, обычные патчи из каталога [.filename]#files/# применяются слишком поздно, чтобы повлиять на эти шаги разрешения зависимостей и их получения.
|
||||
|
||||
Хотя изменение зависимостей путём наложения патчей на исходный [.filename]#go.mod# на данный момент невозможно, вы всё же можете *переопределить* его, указав другой [.filename]#go.mod# в качестве второго distfile.
|
||||
|
||||
[.programlisting]
|
||||
....
|
||||
PORTNAME= miller
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 6.17.0
|
||||
CATEGORIES= textproc
|
||||
MASTER_SITES= https://raw.githubusercontent.com/johnkerl/${PORTNAME}/${DISTVERSIONFULL}/:gomod
|
||||
|
||||
DISTFILES= go.mod:gomod
|
||||
....
|
||||
|
||||
Чтобы переопределить также и [.filename]#go.sum#, просто добавьте его в `DISTFILES`:
|
||||
|
||||
[.programlisting]
|
||||
....
|
||||
DISTFILES= go.mod:gomod go.sum:gomod
|
||||
....
|
||||
====
|
||||
|
||||
[[using-cabal]]
|
||||
=== Построение приложений на Haskell с помощью `cabal`
|
||||
|
||||
@@ -1519,16 +1546,6 @@ GCONF_SCHEMAS=my_app.schemas my_app2.schemas my_app3.schemas
|
||||
Схемы Gconf перечислены в макросе `GCONF_SCHEMAS`, а не в файле [.filename]#pkg-plist#. Если они указаны в [.filename]#pkg-plist#, они не будут зарегистрированы, и приложения могут работать некорректно.
|
||||
====
|
||||
|
||||
`INSTALLS_OMF`::
|
||||
Файлы Open Source Metadata Framework (OMF) часто используются приложениями GNOME 2. Эти файлы содержат информацию о файлах справки приложений и требуют специальной обработки с помощью ScrollKeeper/rarian. Для правильной регистрации файлов OMF при установке приложений GNOME из пакетов убедитесь, что файлы `omf` указаны в `pkg-plist` и что в [.filename]#Makefile# порта определено `INSTALLS_OMF`:
|
||||
+
|
||||
[.programlisting]
|
||||
....
|
||||
INSTALLS_OMF=yes
|
||||
....
|
||||
+
|
||||
При установке [.filename]#bsd.gnome.mk# автоматически сканирует [.filename]#pkg-plist# и добавляет соответствующие директивы `@exec` и `@unexec` для каждого файла [.filename]#.omf#, который необходимо отслеживать в базе данных регистрации OMF.
|
||||
|
||||
[[gnome-components]]
|
||||
== Компоненты GNOME
|
||||
|
||||
@@ -2948,7 +2965,7 @@ USE_LXQT= buildtools libfmqt
|
||||
|
||||
Если порту требуется Java(TM) Development Kit (JDK(TM)) для сборки, запуска или даже извлечения distfile, определите `USE_JAVA`.
|
||||
|
||||
В коллекции портов доступно несколько JDK от различных поставщиков и в нескольких версиях. Если порт должен использовать определённую версию, укажите её с помощью переменной `JAVA_VERSION`. Самая актуальная версия — package:java/openjdk25[], также доступны package:java/openjdk24[], package:java/openjdk23[], package:java/openjdk22[], package:java/openjdk21[], package:java/openjdk20[], package:java/openjdk17[], package:java/openjdk11[] и package:java/openjdk8[].
|
||||
В коллекции портов доступно несколько JDK от различных поставщиков и в нескольких версиях. Если порт должен использовать определённую версию, укажите её с помощью переменной `JAVA_VERSION`. Самая актуальная версия — package:java/openjdk25[], также доступны package:java/openjdk24[], package:java/openjdk23[], package:java/openjdk22[], package:java/openjdk21[], package:java/openjdk17[], package:java/openjdk11[] и package:java/openjdk8[].
|
||||
|
||||
[[using-java-variables]]
|
||||
.Переменные, которые могут быть установлены портами, использующими Java
|
||||
@@ -3113,7 +3130,7 @@ do-install:
|
||||
cd ${WRKDIR}/${PORTDIRNAME} && ${COPYTREE_SHARE} \* ${WEBAPPDIR}/${PORTDIRNAME}
|
||||
....
|
||||
|
||||
Независимо от типа порта (библиотека или приложение), дополнительная документация устанавливается crossref:makefiles[install-documentation,в том же месте], что и для любого другого порта. Известно, что инструмент Javadoc создает разный набор файлов в зависимости от версии используемого JDK. Для портов, которые не требуют использования конкретной версии JDK, указание списка упаковки ([.filename]#pkg-plist#) становится сложной задачей. Это одна из причин, по которой разработчикам портов настоятельно рекомендуется использовать `PORTDOCS`. Более того, даже если набор файлов, генерируемых `javadoc`, можно предсказать, размер результирующего [.filename]#pkg-plist# говорит в пользу использования `PORTDOCS`.
|
||||
Независимо от типа порта (библиотека или приложение), дополнительная документация устанавливается crossref:makefiles[install-documentation,в том же месте], что и для любого другого порта. Известно, что инструмент Javadoc создаёт разный набор файлов в зависимости от версии используемого JDK. Для портов, которые не требуют использования конкретной версии JDK, указание списка упаковки ([.filename]#pkg-plist#) становится сложной задачей. Это одна из причин, по которой разработчикам портов настоятельно рекомендуется использовать `PORTDOCS`. Более того, даже если набор файлов, генерируемых `javadoc`, можно предсказать, размер результирующего [.filename]#pkg-plist# говорит в пользу использования `PORTDOCS`.
|
||||
|
||||
Значение по умолчанию для `DATADIR` — [.filename]#${PREFIX}/share/${PORTNAME}#. Рекомендуется переопределить `DATADIR` на [.filename]#${JAVASHAREDIR}/${PORTNAME}# для портов Java. Действительно, `DATADIR` автоматически добавляется в `PLIST_SUB` (документировано в crossref:plist[plist-sub,Изменение pkg-plist на основе переменных Make]), поэтому используйте `%%DATADIR%%` напрямую в [.filename]#pkg-plist#.
|
||||
|
||||
@@ -4640,7 +4657,7 @@ doormand_flags=""
|
||||
. Выполняет ли скрипт любой код безусловно? Это не приветствуется. Обычно такие вещи должны обрабатываться через `start_precmd`.
|
||||
. Все логические проверки должны использовать функцию `checkyesno`. Не допускаются самодельные проверки на `[Yy][Ee][Ss]` и т.п.
|
||||
. Если есть цикл (например, ожидание запуска чего-либо), есть ли в нём счётчик для завершения цикла? Мы не хотим, чтобы загрузка зависала навсегда в случае ошибки.
|
||||
. Создает ли скрипт файлы или каталоги, требующие определённых разрешений, например, [.filename]#pid#, который должен принадлежать пользователю, запускающему процесс? Вместо традиционной последовательности man:touch[1]/man:chown[8]/man:chmod[1] рассмотрите использование man:install[1] с соответствующими аргументами командной строки, чтобы выполнить всю процедуру за один шаг.
|
||||
. Создаёт ли скрипт файлы или каталоги, требующие определённых разрешений, например, [.filename]#pid#, который должен принадлежать пользователю, запускающему процесс? Вместо традиционной последовательности man:touch[1]/man:chown[8]/man:chmod[1] рассмотрите использование man:install[1] с соответствующими аргументами командной строки, чтобы выполнить всю процедуру за один шаг.
|
||||
|
||||
[[users-and-groups]]
|
||||
== Добавление пользователей и групп
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -502,7 +502,7 @@ package:databases/db48[] устарел и не поддерживается. О
|
||||
|
||||
Возможные аргументы: `7`, `module`, `theme`
|
||||
|
||||
Автоматизирует установку порта, который является темой или модулем Drupal. Использовать с версией Drupal, которую ожидает порт. Например, `USES=drupal:7,module` означает, что этот порт создает модуль Drupal 7. Тему Drupal 7 можно указать с помощью `USES=drupal:7,theme`.
|
||||
Автоматизирует установку порта, который является темой или модулем Drupal. Использовать с версией Drupal, которую ожидает порт. Например, `USES=drupal:7,module` означает, что этот порт создаёт модуль Drupal 7. Тему Drupal 7 можно указать с помощью `USES=drupal:7,theme`.
|
||||
|
||||
[[uses-ebur128]]
|
||||
== `ebur128`
|
||||
@@ -533,7 +533,7 @@ package:databases/db48[] устарел и не поддерживается. О
|
||||
Список файлов для создания символьных ссылок из дистрибутива Electron.
|
||||
|
||||
`ELECTRONFIX_MAIN_EXECUTABLE`::
|
||||
Имя файла основного исполняемого файла, который будет заменен оригинальным бинарным файлом Electron.
|
||||
Имя файла основного исполняемого файла, который будет заменён оригинальным бинарным файлом Electron.
|
||||
|
||||
|
||||
[[uses-elfctl]]
|
||||
@@ -612,7 +612,7 @@ ELF_FEATURES= featurelist:path/to/file1 \
|
||||
|
||||
Возможные аргументы: (нет) (по умолчанию), `build`, `run`, `noflavors`
|
||||
|
||||
Предоставляет поддержку для портов, требующих Emacs. Аргумент `build` создает зависимость сборки от Emacs. Аргумент `run` создает зависимость выполнения от Emacs. Если оба аргумента `build` и `run` отсутствуют, создаются зависимости сборки и выполнения от Emacs. Аргумент `noflavors` запрещает флейворы и подразумевается, если нет зависимости выполнения от Emacs.
|
||||
Предоставляет поддержку для портов, требующих Emacs. Аргумент `build` создаёт зависимость сборки от Emacs. Аргумент `run` создаёт зависимость выполнения от Emacs. Если оба аргумента `build` и `run` отсутствуют, создаются зависимости сборки и выполнения от Emacs. Аргумент `noflavors` запрещает флейворы и подразумевается, если нет зависимости выполнения от Emacs.
|
||||
|
||||
Стандартный вариант Emacs для портов с `USES=emacs` можно определить в [.filename]#make.conf#. Например, для варианта `nox` используйте `DEFAULT_VERSIONS+= emacs=nox`. Допустимые флейворы: `full`, `canna`, `nox`, `wayland`, `devel_full`, `devel_nox`.
|
||||
|
||||
@@ -1141,6 +1141,13 @@ GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
|
||||
|
||||
Добавить package:devel/imake[] как зависимость на этапе сборки и выполнить `xmkmf -a` на этапе `configure`. Если указан аргумент `env`, цель `configure` не устанавливается. Если флаг `-a` вызывает проблемы для порта, добавьте аргумент `notall`. Если `xmkmf` не генерирует цель `install.man`, добавьте аргумент `noman`.
|
||||
|
||||
[[uses-inotify]]
|
||||
== `inotify`
|
||||
|
||||
Возможные аргументы: (отсутствуют)
|
||||
|
||||
Добавить поддержку `inotify` для портов.
|
||||
|
||||
[[uses-java]]
|
||||
== `java`
|
||||
|
||||
@@ -1151,7 +1158,7 @@ GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
|
||||
Фреймворк предоставляет следующие переменные, которые могут быть установлены портом:
|
||||
|
||||
`JAVA_VERSION`::
|
||||
Список подходящих версий Java для порта, разделенных пробелами. Необязательный символ `\+` позволяет указать диапазон версий. (допустимые значения `8[+]`, `11[\+]`, `17[+]`, `18[\+]`, `19[+]`, `20[\+]`, `21[+]`, `22[\+]`, `22[+]`)
|
||||
Список подходящих версий Java для порта, разделенных пробелами. Необязательный символ `\+` позволяет указать диапазон версий. (допустимые значения `8[+]`, `11[\+]`, `17[+]`, `18[\+]`, `19[+]`, `21[+]`, `22[\+]`, `22[+]`)
|
||||
|
||||
`JAVA_OS`::
|
||||
Список поддерживаемых операционных систем для порта JDK, разделённых пробелами. (допустимые значения: `native`, `linux`)
|
||||
@@ -1691,10 +1698,9 @@ USE_MATE= menus:build intlhack
|
||||
[[uses-nodejs]]
|
||||
== `nodejs`
|
||||
|
||||
Возможные аргументы: (нет), `build`, `run`, `current`, `lts`, `10`, `14`, `16`,
|
||||
`17`.
|
||||
Возможные аргументы: (нет), `build`, `env`, `run`, `current`, `lts`, `20`, `22`, `24`, `26`.
|
||||
|
||||
Использует nodejs. Добавляет зависимость от пакета package:www/node*[]. Если указана поддерживаемая версия, то также необходимо указать `run` и/или `build`.
|
||||
Использует nodejs. Добавляет зависимость от пакета package:www/node*[]. Если указана поддерживаемая версия, то также необходимо указать `run` и/или `build`. Аргумент `env` задаёт переменные окружения `NODEJS_VERSION` и `NODEJS_SUFFIX`. В настоящее время `lts` является псевдонимом для версии 24, а `current` — псевдонимом для версии 26.
|
||||
|
||||
[[uses-objc]]
|
||||
== `objc`
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -125,6 +125,41 @@ endif::[]
|
||||
|gitref:576ee62dd2e5e0454a5316eb9207f4ebaa543171[repository="src",length=12]
|
||||
|25 января 2026
|
||||
|16.0-CURRENT после изменения контекста хранения обнаружения соседей IPv6 непосредственно в структуре in6_ifextra. Это изменение KPI, которое может повлиять на сборку внешних модулей ядра, связанных с сетью.
|
||||
|
||||
|1600012
|
||||
|gitref:99e138f20a9bad8276e9ebbb1e155daadf201272[repository="src",length=12]
|
||||
|13 февраля 2026
|
||||
|16.0-CURRENT после добавления точки входа `prison_cleanup` в каркас MAC.
|
||||
|
||||
|1600013
|
||||
|gitref:72472e52e310ec348949a3a67d3fa17e33fb8e50[repository="src",length=12]
|
||||
|12 марта 2026
|
||||
|16.0-CURRENT после удаления API ioctl(2) из carp(4).
|
||||
|
||||
|1600014
|
||||
|gitref:6275cd73aca7f31cbb3b9da2d031f6664814d58c[repository="src",length=12]
|
||||
|21 марта 2026
|
||||
|16.0-CURRENT после изменения размера `struct trapframe` на amd64.
|
||||
|
||||
|1600015
|
||||
|gitref:36fe65cc7a31962e80a45d8b0fa6a401653a3deb[repository="src",length=12]
|
||||
|6 апреля 2026
|
||||
|16.0-CURRENT после внесения всех изменений в linuxkpi, необходимых для драйверов DRM из Linux 6.11.
|
||||
|
||||
|1600016
|
||||
|gitref:68d2339bc6afadba0107208430af03731a2e3f4a[repository="src",length=12]
|
||||
|23 апреля 2026
|
||||
|16.0-CURRENT после изменения различных API ядра для использования указателей.
|
||||
|
||||
|1600017
|
||||
|gitref:8f95b8b19088bd8d73f6d14dab7afe848dfc0c35[repository="src",length=12]
|
||||
|25 апреля 2026
|
||||
|16.0-CURRENT после обновления llvm, clang, compiler-rt, libc++, libunwind, lld, lldb и openmp до llvmorg-21.1.8-0-g2078da43e25a, также известного как релиз 21.1.8.
|
||||
|
||||
|1600018
|
||||
|gitref:1569e2334ab5b2ee1e2b7893cb05c17a27d3eca8[repository="src",length=12]
|
||||
|30 апреля 2026
|
||||
|16.0-CURRENT после изменений в linuxkpi для поддержки драйверов DRM из Linux 6.12.84.
|
||||
|===
|
||||
|
||||
[[versions-15]]
|
||||
@@ -499,6 +534,31 @@ endif::[]
|
||||
|18 декабря 2025
|
||||
|15.0-STABLE после изменения API `bus_alloc_resource`, чтобы передавать параметр `rid` по значению.
|
||||
|
||||
|1500505
|
||||
|gitref:198ef2a31cee7dd256434ad6120d279d9bcc211a[repository="src",length=12]
|
||||
|24 декабря 2025
|
||||
|15.0-STABLE после реализации vmap_pfn.
|
||||
|
||||
|1500506
|
||||
|gitref:f5828b88a979fd9b48c2a6370bf2ee761d4ee52a[repository="src",length=12]
|
||||
|31 января 2026
|
||||
|15.0-STABLE после изменения зависимостей libcrypto.
|
||||
|
||||
|1500507
|
||||
|gitref:d1c800badec7750194ba19a225d364377b74362b[repository="src",length=12]
|
||||
|27 марта 2026
|
||||
|15.0-STABLE после изменения размера struct trapframe на amd64.
|
||||
|
||||
|1500508
|
||||
|gitref:d1c800badec7750194ba19a225d364377b74362b[repository="src",length=12]
|
||||
|22 апреля 2026
|
||||
|15.0-STABLE после изменений в linuxkpi для 802.11 из Linux 7.0 и драйверов DRM из Linux 6.11.
|
||||
|
||||
|1500509
|
||||
|gitref:c969df6ccef61ffc01d038eee383d0852e66da3d[repository="src",length=12]
|
||||
|30 апреля 2026
|
||||
|15.0-STABLE после изменений в linuxkpi для поддержки драйверов DRM из Linux 6.12.84.
|
||||
|
||||
|===
|
||||
|
||||
[[versions-14]]
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user