aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R/books/porters-handbook/upgrading/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'ru_RU.KOI8-R/books/porters-handbook/upgrading/chapter.xml')
-rw-r--r--ru_RU.KOI8-R/books/porters-handbook/upgrading/chapter.xml547
1 files changed, 279 insertions, 268 deletions
diff --git a/ru_RU.KOI8-R/books/porters-handbook/upgrading/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/upgrading/chapter.xml
index 7372064ce5..3d49959628 100644
--- a/ru_RU.KOI8-R/books/porters-handbook/upgrading/chapter.xml
+++ b/ru_RU.KOI8-R/books/porters-handbook/upgrading/chapter.xml
@@ -7,294 +7,305 @@
Original revision: r43840
-->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="port-upgrading">
-
- <title>Обновление отдельного порта</title>
-
- <para>Если вы заметите, что ваш порт устарел по сравнению с последней
- авторской версией, первым делом вы должны получить самую
- последнюю версия порта. Вы можете найти их в каталоге
- <filename>ports/ports-current</filename> на зеркальных FTP-серверах &os;.
- Однако если вы работаете с достаточно большим количеством портов,
- наверное, будет проще использовать
- <application>Subversion</application> или &man.portsnap.8; для
- поддержания всей коллекции портов в актуальном состоянии, как это
- описано в <link xlink:href="&url.books.handbook;/ports-using.html">
- Руководстве</link>. К тому же это даст возможность отслеживать все
- зависимости портов.</para>
-
- <para>На следующем шаге необходимо выяснить, нет ожидает ли уже это
- обновление своей очереди. Для этого у вас есть две возможности.
- Существует интерфейс к <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">базе
- данных сообщений о проблемах FreeBSD (PR)</link> (известной также как
- <literal>GNATS</literal>) с поисковыми возможностями. Выберите из
- выпадающего списка <literal>ports</literal> и введите название
- порта.</para>
-
- <para>Однако иногда люди забывают поместить название порта в поле
- Synopsis в точном виде. В таком случае вы можете воспользоваться
- <link linkend="portsmon">Системой мониторинга портов &os;</link>
- (которая известна также как
- <literal>portsmon</literal>). В рамках этой системы делается попытка
- классифицировать PR, касающиеся портов, по имени порта. Для поиска
- PR, относящихся к определённому порту, используйте механизм <link xlink:href="http://portsmon.FreeBSD.org/portoverview.py">Просмотра
+<chapter xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
+ xml:id="port-upgrading">
+
+ <title>Обновление отдельного порта</title>
+
+ <para>Если вы заметите, что ваш порт устарел по сравнению с
+ последней авторской версией, первым делом вы должны получить
+ самую последнюю версия порта. Вы можете найти их в каталоге
+ <filename>ports/ports-current</filename> на зеркальных
+ FTP-серверах &os;. Однако если вы работаете с достаточно большим
+ количеством портов, наверное, будет проще использовать
+ <application>Subversion</application> или &man.portsnap.8; для
+ поддержания всей коллекции портов в актуальном состоянии, как это
+ описано в <link
+ xlink:href="&url.books.handbook;/ports-using.html">Руководстве</link>.
+ К тому же это даст возможность отслеживать все зависимости
+ портов.</para>
+
+ <para>На следующем шаге необходимо выяснить, нет ожидает ли уже это
+ обновление своей очереди. Для этого у вас есть две возможности.
+ Существует интерфейс к <link
+ xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">базе
+ данных сообщений о проблемах FreeBSD (PR)</link> (известной
+ также как <literal>GNATS</literal>) с поисковыми возможностями.
+ Выберите из выпадающего списка <literal>ports</literal> и введите
+ название порта.</para>
+
+ <para>Однако иногда люди забывают поместить название порта в поле
+ Synopsis в точном виде. В таком случае вы можете воспользоваться
+ <link linkend="portsmon">Системой мониторинга портов &os;</link>
+ (которая известна также как <literal>portsmon</literal>). В
+ рамках этой системы делается попытка классифицировать PR,
+ касающиеся портов, по имени порта. Для поиска PR, относящихся к
+ определённому порту, используйте механизм <link
+ xlink:href="http://portsmon.FreeBSD.org/portoverview.py">Просмотра
по одному порту</link>.</para>
- <para>Если таких отложенных PR не существует, то на следующем этапе
- следует послать сообщение электронной почты человеку, поддерживающему
- порт, который выдаётся по команде <command>make maintainer</command>.
- Этот человек может уже работать над обновлением, или иметь
- причину не обновлять порт прямо сейчас (например, из-за проблем со
- стабильностью функционирования новой версии);
- вам нет нужды дублировать их работу. Заметьте, что неподдерживаемые
- порты перечисляются с адресом сопровождающего
- <literal>ports@FreeBSD.org</literal>, который является всего лишь
- адресом общего списка рассылки, так что отправка туда сообщений,
- скорее всего, в данном случае не поможет.</para>
-
- <para>Если сопровождающий просит вас выполнить обновление, либо
- сопровождающий отсутствует, то у вас появляется шанс помочь &os;,
- приготовив обновление самим! Пожалуйста, делайте это с использованием
- команды &man.diff.1; в основной системе.</para>
-
- <para>Чтобы создать подходящий <command>diff</command> для одного патча,
- скопируйте файл, который нужно пропатчить, в
- <replaceable>something.orig</replaceable>, сохраните ваши изменения в
- <replaceable>something</replaceable>, а затем создайте ваше патч:</para>
-
- <informalexample>
- <screen>&prompt.user; <userinput>diff -u something.orig something &gt; something.diff</userinput></screen>
- </informalexample>
-
- <para>В противном случае, вам следует воспользоваться методом
- <command>svn diff</command> (<xref linkend="svn-diff"/>), либо
- скопировать содержимое порта в
- отдельный каталог и применить результат рекурсивной команды &man.diff.1;
- между новым и старым каталогами порта (например, если каталог с
- модифицированным портом называется <filename>superedit</filename>,
- а оригинальный, совпадающий с находящимся в нашем дереве портов,
- <filename>superedit.bak</filename>, то сохраните результат выполнения
- команды <command>diff -ruN superedit.bak superedit</command>).
- Подойдёт как унифицированный, так и контекстный дифф, однако коммиттеры
- портов обычно предпочитают унифицированный формат. Отметьте
- использование опции <literal>-N</literal>&mdash;это одобряемый способ
- заставить diff корректно работать в случае добавления новых файлов или
- удаления старых. Перед тем, как посылать нам diff-файл, пожалуйста,
- проверьте его, чтобы убедиться в значимости всех внесённых
- изменений. (В частности, убедитесь, что вы очистили рабочие каталоги
- командой <command>make clean</command>).</para>
-
- <para>Для упрощения повторяющихся операций с файлами заплаток
- вы можете воспользоваться скриптом
- <filename>/usr/ports/Tools/scripts/patchtool.py</filename>. Перед тем,
- как его запускать, пожалуйста, прочтите
- <filename>/usr/ports/Tools/scripts/README.patchtool</filename>.</para>
-
- <para>Если порт никем не поддерживается, а вы активно его используете,
- пожалуйста, подумайте над тем, чтобы добровольно стать его
- сопровождающим. Во &os; имеется более 4000 портов без поддержки, и это
- как раз та область, где всегда нужны добровольцы. (Детальное описание
- обязанностей сопровождающего можно найти в разделе в <link xlink:href="&url.books.developers-handbook;/policies.html#POLICIES-MAINTAINER">
- Руководстве Разработчика</link>.)</para>
-
- <para>Лучше всего послать нам diff-файл, включив его в посылку по команде
- &man.send-pr.1; (категория <literal>ports</literal>). Если вы
- сопровождаете порт,
- обязательно поместите текст <literal>[maintainer update]</literal> в
- начале строки описания и задайте в поле <quote>Class</quote>
- вашего PR строчку <literal>maintainer-update</literal>.
- В противном случае в поле <quote>Class</quote> вашего PR должно быть
- указано <literal>change-request</literal>. Будьте добры, в сообщении
- отметьте все добавленные или удалённые файлы, так как они будут
- непосредственно указаны &man.svn.1; при выполнении операции коммита.
- Если diff-файл имеет размер, превышающий 20КБ, сожмите его и обработайте
- утилитой uuencode; в противном случае просто включите его как есть
- в PR.</para>
-
- <para>Прежде чем пользоваться &man.send-pr.1; просмотрите раздел
- о <link xlink:href="&url.articles.problem-reports;/pr-writing.html">Написании
- сообщений о проблемах</link> в статье о Сообщениях об ошибках. Он
- содержит гораздо больше информации о том, как писать полезные сообщения
- о проблемах.</para>
-
- <important>
- <para>Если обновление вызвано соображениями информационной
- безопасности или наличием серьёзных ошибок в имеющемся порте,
- пожалуйста, оповестите &a.portmgr; о необходимости немедленного
- перепостроения и повторного распространения пакета данного порта.
- В противном случае ничего не подозревающие пользователи
- <command>pkg</command> будут продолжать устанавливать старую
- версию по команде <command>pkg install</command> в течение
- ещё нескольких недель.</para>
- </important>
-
- <note>
- <para>Повторяем еще раз - для посылки обновлений существующих портов
- используйте утилиту &man.diff.1;, а не &man.shar.1;! Это поможет
- понять коммиттерам портов, что именно было изменено.</para>
- </note>
-
- <para>Теперь, когда вы проделали всё это, прочитайте о том, как
- поддерживать актуальное состояние, в <xref linkend="keeping-up"/>.</para>
-
- <sect1 xml:id="svn-diff">
- <title>Использование <application>Subversion</application> для
- создания патчей</title>
-
- <para>По возможности присылайте исправления в формате &man.svn.1; diff.
- В таком виде их проще использовать по сравнению с разницей между
- <quote>старым и новым</quote> каталогами. Так проще
- увидеть изменения и обновить их в случае, если что-нибудь
- изменилось в Коллекции Портов с тех пор, как вы начали работу,
- либо если коммиттер просит что-то исправить.</para>
-
- <screen>&prompt.user; <userinput>cd ~/my_wrkdir</userinput> <co xml:id="my-wrkdir"/>
+ <para>Если таких отложенных PR не существует, то на следующем этапе
+ следует послать сообщение электронной почты человеку,
+ поддерживающему порт, который выдаётся по команде <command>make
+ maintainer</command>. Этот человек может уже работать над
+ обновлением, или иметь причину не обновлять порт прямо сейчас
+ (например, из-за проблем со стабильностью функционирования новой
+ версии); вам нет нужды дублировать их работу. Заметьте, что
+ неподдерживаемые порты перечисляются с адресом сопровождающего
+ <literal>ports@FreeBSD.org</literal>, который является всего лишь
+ адресом общего списка рассылки, так что отправка туда сообщений,
+ скорее всего, в данном случае не поможет.</para>
+
+ <para>Если сопровождающий просит вас выполнить обновление, либо
+ сопровождающий отсутствует, то у вас появляется шанс помочь &os;,
+ приготовив обновление самим! Пожалуйста, делайте это с
+ использованием команды &man.diff.1; в основной системе.</para>
+
+ <para>Чтобы создать подходящий <command>diff</command> для одного
+ патча, скопируйте файл, который нужно пропатчить, в
+ <replaceable>something.orig</replaceable>, сохраните ваши
+ изменения в <replaceable>something</replaceable>, а затем
+ создайте ваше патч:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>diff -u something.orig something &gt; something.diff</userinput></screen>
+ </informalexample>
+
+ <para>В противном случае, вам следует воспользоваться методом
+ <command>svn diff</command> (<xref linkend="svn-diff"/>), либо
+ скопировать содержимое порта в отдельный каталог и применить
+ результат рекурсивной команды &man.diff.1; между новым и старым
+ каталогами порта (например, если каталог с модифицированным
+ портом называется <filename>superedit</filename>, а оригинальный,
+ совпадающий с находящимся в нашем дереве портов,
+ <filename>superedit.bak</filename>, то сохраните результат
+ выполнения команды <command>diff -ruN superedit.bak
+ superedit</command>). Подойдёт как унифицированный, так и
+ контекстный дифф, однако коммиттеры портов обычно предпочитают
+ унифицированный формат. Отметьте использование опции
+ <literal>-N</literal>&mdash;это одобряемый способ заставить diff
+ корректно работать в случае добавления новых файлов или удаления
+ старых. Перед тем, как посылать нам diff-файл, пожалуйста,
+ проверьте его, чтобы убедиться в значимости всех внесённых
+ изменений. (В частности, убедитесь, что вы очистили рабочие
+ каталоги командой <command>make clean</command>).</para>
+
+ <para>Для упрощения повторяющихся операций с файлами заплаток вы
+ можете воспользоваться скриптом
+ <filename>/usr/ports/Tools/scripts/patchtool.py</filename>.
+ Перед тем, как его запускать, пожалуйста, прочтите
+ <filename>/usr/ports/Tools/scripts/README.patchtool</filename>.</para>
+
+ <para>Если порт никем не поддерживается, а вы активно его
+ используете, пожалуйста, подумайте над тем, чтобы добровольно
+ стать его сопровождающим. Во &os; имеется более 4000 портов без
+ поддержки, и это как раз та область, где всегда нужны
+ добровольцы. (Детальное описание обязанностей сопровождающего
+ можно найти в разделе <link
+ xlink:href="&url.books.developers-handbook;/policies.html#POLICIES-MAINTAINER">Руководства
+ Разработчика</link>.)</para>
+
+ <para>Лучше всего послать нам diff-файл, включив его в посылку по
+ команде &man.send-pr.1; (категория <literal>ports</literal>).
+ Если вы сопровождаете порт, обязательно поместите текст
+ <literal>[maintainer update]</literal> в начале строки описания и
+ задайте в поле <quote>Class</quote> вашего PR строчку
+ <literal>maintainer-update</literal>. В противном случае в поле
+ <quote>Class</quote> вашего PR должно быть указано
+ <literal>change-request</literal>. Будьте добры, в сообщении
+ отметьте все добавленные или удалённые файлы, так как они будут
+ непосредственно указаны &man.svn.1; при выполнении операции
+ коммита. Если diff-файл имеет размер, превышающий 20КБ, сожмите
+ его и обработайте утилитой uuencode; в противном случае просто
+ включите его как есть в PR.</para>
+
+ <para>Прежде чем пользоваться &man.send-pr.1; просмотрите раздел о
+ <link
+ xlink:href="&url.articles.problem-reports;/pr-writing.html">Написании
+ сообщений о проблемах</link> в статье о Сообщениях об ошибках.
+ Он содержит гораздо больше информации о том, как писать полезные
+ сообщения о проблемах.</para>
+
+ <important>
+ <para>Если обновление вызвано соображениями информационной
+ безопасности или наличием серьёзных ошибок в имеющемся порте,
+ пожалуйста, оповестите &a.portmgr; о необходимости немедленного
+ перепостроения и повторного распространения пакета данного
+ порта. В противном случае ничего не подозревающие пользователи
+ <command>pkg</command> будут продолжать устанавливать старую
+ версию по команде <command>pkg install</command> в течение ещё
+ нескольких недель.</para>
+ </important>
+
+ <note>
+ <para>Повторяем еще раз - для посылки обновлений существующих
+ портов используйте утилиту &man.diff.1;, а не &man.shar.1;!
+ Это поможет понять коммиттерам портов, что именно было
+ изменено.</para>
+ </note>
+
+ <para>Теперь, когда вы проделали всё это, прочитайте о том, как
+ поддерживать актуальное состояние, в <xref
+ linkend="keeping-up"/>.</para>
+
+ <sect1 xml:id="svn-diff">
+ <title>Использование <application>Subversion</application> для
+ создания патчей</title>
+
+ <para>По возможности присылайте исправления в формате &man.svn.1;
+ diff. В таком виде их проще использовать по сравнению с
+ разницей между <quote>старым и новым</quote> каталогами. Так
+ проще увидеть изменения и обновить их в случае, если что-нибудь
+ изменилось в Коллекции Портов с тех пор, как вы начали работу,
+ либо если коммиттер просит что-то исправить.</para>
+
+ <screen>&prompt.user; <userinput>cd ~/my_wrkdir</userinput> <co xml:id="my-wrkdir"/>
&prompt.user; <userinput>svn co https://svn0.us-west.FreeBSD.org/ports/head/dns/pdnsd</userinput> <co xml:id="svn-FreeBSD-org"/>
&prompt.user; <userinput>cd ~/my_wrkdir/pdnsd</userinput></screen>
- <calloutlist>
- <callout arearefs="my-wrkdir">
- <para>Это может быть где угодно; место, в котором производится
- построение портов, не привязано к
- <filename>/usr/ports/</filename>.</para>
- </callout>
-
- <callout arearefs="svn-FreeBSD-org">
- <para><link xlink:href="https://svn0.us-west.FreeBSD.org/">svn0.us-west.FreeBSD.org</link>
- &mdash; это общедоступный сервер
- <application>Subversion</application>.
- Выберите ближайшее зеркало и проверьте сертификат
- зеркалирующего сервера на наличие в перечне <link xlink:href="&url.books.handbook;/svn-mirrors.html">зеркалирующих
+ <calloutlist>
+ <callout arearefs="my-wrkdir">
+ <para>Это может быть где угодно; место, в котором
+ производится построение портов, не привязано к
+ <filename>/usr/ports/</filename>.</para>
+ </callout>
+
+ <callout arearefs="svn-FreeBSD-org">
+ <para><link
+ xlink:href="https://svn0.us-west.FreeBSD.org/">svn0.us-west.FreeBSD.org</link>
+ &mdash; это общедоступный сервер
+ <application>Subversion</application>. Выберите ближайшее
+ зеркало и проверьте сертификат зеркалирующего сервера на
+ наличие в перечне <link
+ xlink:href="&url.books.handbook;/svn-mirrors.html">зеркалирующих
сайтов Subversion</link>.</para>
- </callout>
- </calloutlist>
+ </callout>
+ </calloutlist>
- <para>Находясь в рабочем каталоге, вносите любые изменения, которые
- обычно делают для порта. При добавлении или удалении файла
- используйте <command>svn</command> для отслеживания этих
- изменений:</para>
+ <para>Находясь в рабочем каталоге, вносите любые изменения,
+ которые обычно делают для порта. При добавлении или удалении
+ файла используйте <command>svn</command> для отслеживания этих
+ изменений:</para>
- <screen>&prompt.user; <userinput>svn add new_file</userinput>
+ <screen>&prompt.user; <userinput>svn add new_file</userinput>
&prompt.user; <userinput>svn remove deleted_file</userinput></screen>
- <para>Убедитесь, что вы проверяете порт в соответствии с рекомендуемым
- порядком проверки, описанным в <xref linkend="porting-testing"/> и
- <xref linkend="porting-portlint"/>.</para>
+ <para>Убедитесь, что вы проверяете порт в соответствии с
+ рекомендуемым порядком проверки, описанным в
+ <xref linkend="porting-testing"/> и
+ <xref linkend="porting-portlint"/>.</para>
- <screen>&prompt.user; <userinput>svn status</userinput>
+ <screen>&prompt.user; <userinput>svn status</userinput>
&prompt.user; <userinput>svn update</userinput> <co xml:id="svn-update"/></screen>
- <calloutlist>
- <callout arearefs="svn-update">
- <para>Эта команда попытается выполнить слияние различий между
- вашим патчем и текущей версией репозитория; внимательно проверьте
- полученный вывод. Буква перед названием каждого файла означает
- тип изменения, сделанного с этим файлом. Для получения полного
- списка смотрите <xref linkend="table-svn-up"/>.</para>
- </callout>
- </calloutlist>
-
- <table pgwide="1" frame="none" xml:id="table-svn-up">
- <title>Префиксы файлов для <application>Subversion</application>
- update</title>
-
- <tgroup cols="2">
- <tbody>
- <row>
- <entry>U</entry>
-
- <entry>Файл обновлен без проблем.</entry>
- </row>
-
- <row>
- <entry>G</entry>
-
- <entry>Файл обновлен без проблем (вы увидите это только
- при работе с удаленным репозиторием).</entry>
- </row>
-
- <row>
- <entry>M</entry>
-
- <entry>Файл с локальными изменениями, слияние выполнено
- без конфликтов.</entry>
- </row>
-
- <row>
- <entry>C</entry>
-
- <entry>Файл с локальными изменениями, слияние выполнено
- с конфликтами.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>Если в результате выполнения <literal>svn update</literal>
- отображается <literal>C</literal>, то это означает, что что-то
- изменилось в репозитории <application>Subversion</application>
- и &man.svn.1; не смогла выполнить
- слияние локальных изменений с полученными из репозитория.
- В любом случае никогда не помешает просмотреть изменения,
- поскольку &man.svn.1; ничего не знает о том, каким должен быть
- порт, поэтому эта команда может (и, вероятно, будет) делать
- слияние тех изменений, которые не имеют смысла.</para>
-
- <para>Последним шагом является создание унифицированного &man.diff.1;
- для полученных изменений:</para>
-
- <screen>&prompt.user; <userinput>svn diff &gt; ../`basename ${PWD}`.diff</userinput></screen>
-
- <note>
- <para>Информация о любых удаляемых файлов должна быть явным
- образом указана в PR, поскольку необходимость в удалении
- файла для коммиттера может быть неочевидна.</para>
- </note>
-
- <para>Присылайте свои патчи в соответствии с руководством, описанном в
- <xref linkend="port-upgrading"/>.</para>
- </sect1>
-
- <sect1 xml:id="moved-and-updating-files">
- <title>Файлы <filename>UPDATING</filename> и
- <filename>MOVED</filename></title>
-
- <para>Если при обновлении порта требуются специальные шаги, такие как
- изменение файлов конфигурации или запуск специальной программы,
- то вам следует это задокументировать в файле
- <filename>/usr/ports/UPDATING</filename>. Формат записи в этом
- файле приводится ниже:</para>
-
- <programlisting>YYYYMMDD:
+ <calloutlist>
+ <callout arearefs="svn-update">
+ <para>Эта команда попытается выполнить слияние различий между
+ вашим патчем и текущей версией репозитория; внимательно
+ проверьте полученный вывод. Буква перед названием каждого
+ файла означает тип изменения, сделанного с этим файлом.
+ Для получения полного списка смотрите <xref
+ linkend="table-svn-up"/>.</para>
+ </callout>
+ </calloutlist>
+
+ <table pgwide="1" frame="none" xml:id="table-svn-up">
+ <title>Префиксы файлов для
+ <application>Subversion</application> Update</title>
+
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>U</entry>
+ <entry>Файл обновлен без проблем.</entry>
+ </row>
+
+ <row>
+ <entry>G</entry>
+ <entry>Файл обновлен без проблем (вы увидите это только
+ при работе с удаленным репозиторием).</entry>
+ </row>
+
+ <row>
+ <entry>M</entry>
+ <entry>Файл с локальными изменениями, слияние выполнено
+ без конфликтов.</entry>
+ </row>
+
+ <row>
+ <entry>C</entry>
+ <entry>Файл с локальными изменениями, слияние выполнено
+ с конфликтами.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>Если в результате выполнения <literal>svn update</literal>
+ отображается <literal>C</literal>, то это означает, что что-то
+ изменилось в репозитории <application>Subversion</application>
+ и &man.svn.1; не смогла выполнить слияние локальных изменений с
+ полученными из репозитория. В любом случае никогда не помешает
+ просмотреть изменения, поскольку &man.svn.1; ничего не знает о
+ том, каким должен быть порт, поэтому эта команда может (и,
+ вероятно, будет) делать слияние тех изменений, которые не имеют
+ смысла.</para>
+
+ <para>Последним шагом является создание унифицированного
+ &man.diff.1; для полученных изменений:</para>
+
+ <screen>&prompt.user; <userinput>svn diff &gt; ../`basename ${PWD}`.diff</userinput></screen>
+
+ <note>
+ <para>Информация о любых удаляемых файлов должна быть явным
+ образом указана в PR, поскольку необходимость в удалении
+ файла для коммиттера может быть неочевидна.</para>
+ </note>
+
+ <para>Присылайте свои патчи в соответствии с руководством,
+ описанном в <xref linkend="port-upgrading"/>.</para>
+ </sect1>
+
+ <sect1 xml:id="moved-and-updating-files">
+ <title>Файлы <filename>UPDATING</filename> и
+ <filename>MOVED</filename></title>
+
+ <para>Если при обновлении порта требуются специальные шаги, такие
+ как изменение файлов конфигурации или запуск специальной
+ программы, то вам следует это задокументировать в файле
+ <filename>/usr/ports/UPDATING</filename>. Формат записи в этом
+ файле приводится ниже:</para>
+
+ <programlisting>YYYYMMDD:
AFFECTS: users of portcategory/portname
AUTHOR: Your name &lt;Your email address&gt;
Special instructions</programlisting>
- <para>Если вы включаете точные инструкции portmaster или portupgrading,
- пожалуйста, убедитесь в правильном экранировании символов внутри
- командной оболочки.</para>
-
- <para>Файл <filename>/usr/ports/MOVED</filename> содержит записи
- об удалённых или перемещённых портах. Каждая строка в этом
- файле состоит из полей: название порта, место, куда он был
- перемещён, дата и причина перемещения. Если порт был удалён,
- то поле, указывающее новое место, может оставаться незаполненным.
- Поля должны разделяться символом <literal>|</literal> (pipe),
- как это показано ниже:</para>
+ <para>Если вы включаете точные инструкции portmaster или
+ portupgrade, пожалуйста, убедитесь в правильном экранировании
+ символов внутри командной оболочки.</para>
- <programlisting>old name|new name (blank for deleted)|date of move|reason</programlisting>
+ <para>Файл <filename>/usr/ports/MOVED</filename> содержит записи
+ об удалённых или перемещённых портах. Каждая строка в этом
+ файле состоит из полей: название порта, место, куда он был
+ перемещён, дата и причина перемещения. Если порт был удалён,
+ то поле, указывающее новое место, может оставаться
+ незаполненным. Поля должны разделяться символом
+ <literal>|</literal> (pipe), как это показано ниже:</para>
- <para>Дату следует вводить в формате <literal>YYYY-MM-DD</literal>.
- Новые записи следует добавлять в конец файла в хронологическом
- порядке.</para>
+ <programlisting>old name|new name (blank for deleted)|date of move|reason</programlisting>
- <para>Если порт был перемещён, но в дальнейшем восстановлен на
- прежнем месте, удалите в этом файле строку, содержащую
- информацию о перемещении.</para>
+ <para>Дату следует вводить в формате
+ <literal>YYYY-MM-DD</literal>. Новые записи следует добавлять
+ в конец файла в хронологическом порядке.</para>
- <para>Полученные изменения можно проверить командой
- <command>Tools/scripts/MOVEDlint.awk</command>.</para>
- </sect1>
- </chapter>
+ <para>Если порт был перемещён, но в дальнейшем восстановлен на
+ прежнем месте, удалите в этом файле строку, содержащую
+ информацию о перемещении.</para>
+ <para>Полученные изменения можно проверить командой
+ <command>Tools/scripts/MOVEDlint.awk</command>.</para>
+ </sect1>
+</chapter>