Synchronize with English 1.343

This commit is contained in:
Andrey Zakhvatov 2003-12-21 04:45:41 +00:00
parent d32b124ff2
commit d87561578e
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=19258

View file

@ -2,9 +2,9 @@
The FreeBSD Russian Documentation Project The FreeBSD Russian Documentation Project
$FreeBSD$ $FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/porters-handbook/book.sgml,v 1.101 2003/09/28 17:45:57 andy Exp $ $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/porters-handbook/book.sgml,v 1.103 2003/12/21 04:38:17 andy Exp $
Original revision: 1.331 Original revision: 1.343
--> -->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ <!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@ -68,8 +68,8 @@
все) описаны в начале файла <filename>bsd.port.mk</filename>. все) описаны в начале файла <filename>bsd.port.mk</filename>.
В этом файле используется нестандартная настройка шага табуляции. В этом файле используется нестандартная настройка шага табуляции.
<application>Emacs</application> и <application>Vim</application> <application>Emacs</application> и <application>Vim</application>
должны распознать это при загрузке файла. Как <command>vi</command>, должны распознать это при загрузке файла. Как &man.vi.1;,
так и <command>ex</command> могут быть настроены на использование так и &man.ex.1; могут быть настроены на использование
правильного значения выдачей команды <command>:set tabstop=4</command> правильного значения выдачей команды <command>:set tabstop=4</command>
после загрузки файла.</para> после загрузки файла.</para>
</note> </note>
@ -484,8 +484,9 @@ lib/X11/oneko/mouse.xpm
выполнения действий по умолчанию.</para> выполнения действий по умолчанию.</para>
<para>Например, если у вас есть цель <para>Например, если у вас есть цель
<maketarget>post-extract</maketarget>, определенная в вашем файле <maketarget>post-extract</maketarget>, определённая в вашем файле
Makefile и файл <filename>pre-build</filename> в подкаталоге <filename>Makefile</filename> и файл <filename>pre-build</filename> в
подкаталоге
<filename>scripts</filename>, то после выполнения обычных действий по <filename>scripts</filename>, то после выполнения обычных действий по
распаковке, будет вызвана цель <maketarget>post-extract</maketarget> распаковке, будет вызвана цель <maketarget>post-extract</maketarget>
а скрипт <filename>pre-build</filename> будет выполнен перед а скрипт <filename>pre-build</filename> будет выполнен перед
@ -601,9 +602,9 @@ lib/X11/oneko/mouse.xpm
<title>Создание патчей</title> <title>Создание патчей</title>
<para>Файлы, которые добавлялись или изменялись в процессе создания <para>Файлы, которые добавлялись или изменялись в процессе создания
порта, могут быть выявлены вызовом программы diff с рекурсией, а порта, могут быть выявлены вызовом программы &man.diff.1; с рекурсией,
результат работы этой программы может быть в дальнейшем передан а результат работы этой программы может быть в дальнейшем передан
программе patch. Каждый набор патчей, который вы собираетесь программе &man.patch.1;. Каждый набор патчей, который вы собираетесь
применить, должен быть собран в файл с именем применить, должен быть собран в файл с именем
<filename>patch-<replaceable>*</replaceable></filename>, где <filename>patch-<replaceable>*</replaceable></filename>, где
<replaceable>*</replaceable> означает порядок, в которой будут <replaceable>*</replaceable> означает порядок, в которой будут
@ -634,9 +635,9 @@ lib/X11/oneko/mouse.xpm
<literal>&dollar;RCS</literal>.</para> <literal>&dollar;RCS</literal>.</para>
<para>Использование параметра рекурсии (<option>-r</option>) с командой <para>Использование параметра рекурсии (<option>-r</option>) с командой
<command>diff</command> для генерации патчей - это хорошо, но все же, &man.diff.1; для генерации патчей - это хорошо, но всё же,
пожалуйста, смотрите на получающиеся патчи, чтобы убедиться в пожалуйста, смотрите на получающиеся патчи, чтобы убедиться в
отсутствии ненужного мусора. В частности, diff между двумя отсутствии ненужного мусора. В частности, diff-разниц между двумя
резервными копиями файлов, файлы <filename>Makefile</filename>, когда резервными копиями файлов, файлы <filename>Makefile</filename>, когда
как порт использует <command>Imake</command> или как порт использует <command>Imake</command> или
GNU-версию программы <command>configure</command>, и так далее, GNU-версию программы <command>configure</command>, и так далее,
@ -670,8 +671,9 @@ lib/X11/oneko/mouse.xpm
<para>Если для построения, конфигурации или установки вашего порта <para>Если для построения, конфигурации или установки вашего порта
требуется некоторый ввод со стороны пользователя, то задайте требуется некоторый ввод со стороны пользователя, то задайте
переменную <makevar>IS_INTERACTIVE</makevar> в вашем файле Makefile. переменную <makevar>IS_INTERACTIVE</makevar> в вашем файле
В случае <quote>ночного построения</quote> это позволит пропустить <filename>Makefile</filename>. В случае <quote>ночного
построения</quote> это позволит пропустить
ваш порт, если пользователь в своем окружении задал переменную ваш порт, если пользователь в своем окружении задал переменную
<envar>BATCH</envar> (и если пользователь установил переменную <envar>BATCH</envar> (и если пользователь установил переменную
<envar>INTERACTIVE</envar>, то будут строиться <envar>INTERACTIVE</envar>, то будут строиться
@ -689,15 +691,15 @@ lib/X11/oneko/mouse.xpm
<chapter id="makefile"> <chapter id="makefile">
<title>Настройка файла Makefile</title> <title>Настройка файла Makefile</title>
<para>Настройка файла Makefile достаточно проста, и мы снова <para>Настройка файла <filename>Makefile</filename> достаточно проста, и
предполагаем, что перед тем, как начать, вы посмотрите на существующие мы снова предполагаем, что перед тем, как начать, вы посмотрите на
примеры. К тому же в этом руководстве имеется <link существующие примеры. К тому же в этом руководстве имеется <link
linkend="porting-samplem">примерный Makefile</link>, так что взгляните linkend="porting-samplem">примерный Makefile</link>, так что взгляните
на него и, пожалуйста, следуйте порядку переменных и разделов в этом на него и, пожалуйста, следуйте порядку переменных и разделов в этом
образце, чтобы облегчить чтение вашего порта другими людьми.</para> образце, чтобы облегчить чтение вашего порта другими людьми.</para>
<para>Итак, расположим решаемые задачи в порядке их возникновения при <para>Итак, расположим решаемые задачи в порядке их возникновения при
создании вашего нового файла Makefile:</para> создании вашего нового файла <filename>Makefile</filename>:</para>
<sect1 id="makefile-source"> <sect1 id="makefile-source">
<title>Оригинальные исходный код</title> <title>Оригинальные исходный код</title>
@ -756,8 +758,8 @@ lib/X11/oneko/mouse.xpm
затрагивают содержимое или структуру соответствующего затрагивают содержимое или структуру соответствующего
пакаджа.</para> пакаджа.</para>
<para>Примеры случаев, когда значение PORTREVISION должно быть <para>Примеры случаев, когда значение <makevar>PORTREVISION</makevar>
увеличено:</para> должно быть увеличено:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -767,14 +769,14 @@ lib/X11/oneko/mouse.xpm
</listitem> </listitem>
<listitem> <listitem>
<para>Изменения в файле построения порта для включения и <para>Изменения в файле <filename>Makefile</filename> порта для
выключения параметров, определяемых при компиляции включения и выключения параметров, определяемых при компиляции
пакаджа.</para> пакаджа.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Изменения в списке упаковки или в поведении пакаджа во время <para>Изменения в списке упаковки или в поведении пакаджа во
его установки (например, изменение скрипта, генерирующего время его установки (например, изменение скрипта, генерирующего
начальные данные для пакаджа, такие, как ssh-ключи для начальные данные для пакаджа, такие, как ssh-ключи для
хоста).</para> хоста).</para>
</listitem> </listitem>
@ -837,9 +839,8 @@ lib/X11/oneko/mouse.xpm
усовершенствования, исправления или благодаря тому, что новый усовершенствования, исправления или благодаря тому, что новый
пакадж будет реально работать). Если это так, то переменная пакадж будет реально работать). Если это так, то переменная
<makevar>PORTREVISION</makevar> должна быть увеличена, чтобы <makevar>PORTREVISION</makevar> должна быть увеличена, чтобы
автоматизированные инструменты (например, автоматизированные инструменты (например, &man.pkg.version.1;)
<command>pkg_version</command>) смогли обнаружить факт появления смогли обнаружить факт появления нового пакаджа.</para>
нового пакаджа.</para>
</sect3> </sect3>
<sect3> <sect3>
@ -892,8 +893,8 @@ lib/X11/oneko/mouse.xpm
<makevar>PORTREVISION</makevar> и <makevar>PORTREVISION</makevar> и
<makevar>PORTEPOCH</makevar></title> <makevar>PORTEPOCH</makevar></title>
<para>Выполнен коммит порта gtkmumble, версии 0.10, в коллекцию <para>Выполнен коммит порта <literal>gtkmumble</literal>, версии
портов.</para> <literal>0.10</literal>, в коллекцию портов.</para>
<programlisting>PORTNAME= gtkmumble <programlisting>PORTNAME= gtkmumble
PORTVERSION= 0.10</programlisting> PORTVERSION= 0.10</programlisting>
@ -923,7 +924,7 @@ PORTREVISION= 1</programlisting>
заставить распознавать вновь создаваемый пакадж как <quote>более заставить распознавать вновь создаваемый пакадж как <quote>более
новый</quote>. Так как это новый релиз программы, то новый</quote>. Так как это новый релиз программы, то
<makevar>PORTREVISION</makevar> обнуляется (или удаляется из <makevar>PORTREVISION</makevar> обнуляется (или удаляется из
make-файла).</para> файла <filename>Makefile</filename>).</para>
<programlisting>PORTNAME= gtkmumble <programlisting>PORTNAME= gtkmumble
PORTVERSION= 0.2 PORTVERSION= 0.2
@ -946,9 +947,9 @@ PORTEPOCH= 1</programlisting>
<note> <note>
<para>Если значение <makevar>PORTEPOCH</makevar> этим обновлением <para>Если значение <makevar>PORTEPOCH</makevar> этим обновлением
было бы сброшено в <literal>0</literal>, то кто-нибудь, имеющий было бы сброшено в <literal>0</literal>, то кто-нибудь, имеющий
установленный пакадж gtkmumble-0.10_1, не смог бы распознать установленный пакадж <literal>gtkmumble-0.10_1</literal>, не
пакадж gtkmumble-0.3 как более новый, так как смог бы опознать пакадж <literal>gtkmumble-0.3</literal> как
<literal>3</literal> было бы меньше, чем более новый, так как <literal>3</literal> было бы меньше, чем
<literal>10</literal>.</para> <literal>10</literal>.</para>
</note> </note>
</sect3> </sect3>
@ -970,7 +971,7 @@ PORTEPOCH= 1</programlisting>
<makevar>PORTVERSION</makevar> не разрешается использование дефиса <makevar>PORTVERSION</makevar> не разрешается использование дефиса
(<literal>-</literal>). Кроме того, если в имени пакаджа (<literal>-</literal>). Кроме того, если в имени пакаджа
присутствует часть <replaceable>language-</replaceable> или присутствует часть <replaceable>language-</replaceable> или
<replaceable>compiled.specifics</replaceable>, то используйте <replaceable>-compiled.specifics</replaceable>, то используйте
переменные <makevar>PKGNAMEPREFIX</makevar> и переменные <makevar>PKGNAMEPREFIX</makevar> и
<makevar>PKGNAMESUFFIX</makevar>, соответственно. Не делайте их <makevar>PKGNAMESUFFIX</makevar>, соответственно. Не делайте их
частью значения переменной <makevar>PORTNAME</makevar>.</para> частью значения переменной <makevar>PORTNAME</makevar>.</para>
@ -1020,7 +1021,7 @@ PORTEPOCH= 1</programlisting>
буквы в верхнем регистре, так что принимайте решение сами, когда буквы в верхнем регистре, так что принимайте решение сами, когда
преобразуете имя программного пакета, содержащего в имени преобразуете имя программного пакета, содержащего в имени
некоторое количество заглавных букв.) Существует традиция некоторое количество заглавных букв.) Существует традиция
именовать модули для Perl 5, добавляя впереди именовать модули для <literal>perl 5</literal>, добавляя впереди
<literal>p5-</literal> и преобразуя пару двоеточий в <literal>p5-</literal> и преобразуя пару двоеточий в
дефис; например, модуль <literal>Data::Dumper</literal> будет дефис; например, модуль <literal>Data::Dumper</literal> будет
именоваться <literal>p5-Data-Dumper</literal>. Если программное именоваться <literal>p5-Data-Dumper</literal>. Если программное
@ -1038,7 +1039,7 @@ PORTEPOCH= 1</programlisting>
не обязателен). Примерами являются размеры бумаги и не обязателен). Примерами являются размеры бумаги и
шрифтов.</para> шрифтов.</para>
<para>Часть <replaceable>compiled.specifics</replaceable> должна <para>Часть <replaceable>-compiled.specifics</replaceable> должна
задаваться в переменной <makevar>PKGNAMESUFFIX</makevar>.</para> задаваться в переменной <makevar>PKGNAMESUFFIX</makevar>.</para>
</listitem> </listitem>
@ -1218,7 +1219,8 @@ PORTEPOCH= 1</programlisting>
<para>Если в исходном коде абсолютно нет информации о номере версии и <para>Если в исходном коде абсолютно нет информации о номере версии и
не похоже, что автор собирается выпускать другую версию, то в не похоже, что автор собирается выпускать другую версию, то в
качестве номера версии задайте просто <literal>1.0</literal> (как в качестве номера версии задайте просто <literal>1.0</literal> (как в
примере с piewm выше). В противном случае спросите автора программы или используйте дату примере с <literal>piewm</literal> выше). В противном случае
спросите автора программы или используйте дату
(<literal><replaceable>yyyy</replaceable>.<replaceable>mm</replaceable>.<replaceable>dd</replaceable></literal>) (<literal><replaceable>yyyy</replaceable>.<replaceable>mm</replaceable>.<replaceable>dd</replaceable></literal>)
в качестве номера версии.</para> в качестве номера версии.</para>
</sect2> </sect2>
@ -1293,6 +1295,12 @@ PORTEPOCH= 1</programlisting>
</row> </row>
<row> <row>
<entry><filename>arabic</filename></entry>
<entry>Поддержка арабского языка.</entry>
</row>
<row>
<entry><filename>archivers</filename></entry> <entry><filename>archivers</filename></entry>
<entry>Инструменты для работы с архивами.</entry> <entry>Инструменты для работы с архивами.</entry>
@ -1517,6 +1525,13 @@ PORTEPOCH= 1</programlisting>
</row> </row>
<row> <row>
<entry><filename>lisp*</filename></entry>
<entry>Программное обеспечение, связанное с языком
Lisp.</entry>
</row>
<row>
<entry><filename>mail</filename></entry> <entry><filename>mail</filename></entry>
<entry>Программы для работы с электронной почтой..</entry> <entry>Программы для работы с электронной почтой..</entry>
@ -1587,11 +1602,17 @@ PORTEPOCH= 1</programlisting>
вычислениями.</entry> вычислениями.</entry>
</row> </row>
<row>
<entry><filename>pear*</filename></entry>
<entry>Порты, относящиеся к технологии Pear PHP.</entry>
</row>
<row> <row>
<entry><filename>perl5*</filename></entry> <entry><filename>perl5*</filename></entry>
<entry>Порты, которым для работы требуется perl версии <entry>Порты, которым для работы требуется
5.</entry> <literal>perl</literal> версии 5.</entry>
</row> </row>
<row> <row>
@ -1763,7 +1784,7 @@ PORTEPOCH= 1</programlisting>
<row> <row>
<entry><filename>windowmaker*</filename></entry> <entry><filename>windowmaker*</filename></entry>
<entry>Порты, поддерживающие менеджер окон WindowMaker</entry> <entry>Порты, поддерживающие менеджер окон WindowMaker.</entry>
</row> </row>
<row> <row>
@ -2716,7 +2737,8 @@ PATCHFILES= patch1:test</programlisting>
<note> <note>
<para>Это не коснётся тех сайтов <makevar>MASTER_SITES</makevar>, <para>Это не коснётся тех сайтов <makevar>MASTER_SITES</makevar>,
которые вы указали в вашем файле Makefile.</para> которые вы указали в вашем файле
<filename>Makefile</filename>.</para>
</note> </note>
</sect2> </sect2>
</sect1> </sect1>
@ -2789,7 +2811,7 @@ PATCHFILES= patch1:test</programlisting>
<para>Зависимость проверяется дважды, один раз внутри цели <para>Зависимость проверяется дважды, один раз внутри цели
<maketarget>extract</maketarget>, а затем из цели <maketarget>extract</maketarget>, а затем из цели
<maketarget>install</maketarget>. Кроме того, имя зависимости <maketarget>install</maketarget>. Кроме того, имя зависимости
помещается в пакадж, так что <command>pkg_add</command> будет помещается в пакадж, так что &man.pkg.add.1; будет
автоматически его устанавливать, если его нет на пользовательской автоматически его устанавливать, если его нет на пользовательской
системе.</para> системе.</para>
</sect2> </sect2>
@ -2836,7 +2858,7 @@ PATCHFILES= patch1:test</programlisting>
<para>Зависимость проверяется внутри цели <para>Зависимость проверяется внутри цели
<maketarget>install</maketarget>. Кроме того, имя зависимости <maketarget>install</maketarget>. Кроме того, имя зависимости
помещается в пакадж, так что программа <command>pkg_add</command> помещается в пакадж, так что программа &man.pkg.add.1;
будет автоматически его устанавливать, если он не будет найден будет автоматически его устанавливать, если он не будет найден
в пользовательской системе. Часть в пользовательской системе. Часть
<replaceable>target</replaceable> может быть опущена, если она <replaceable>target</replaceable> может быть опущена, если она
@ -2945,10 +2967,11 @@ PATCHFILES= patch1:test</programlisting>
<row> <row>
<entry><makevar>USE_PERL5</makevar></entry> <entry><makevar>USE_PERL5</makevar></entry>
<entry>Для построения и установки порта требуется Perl 5. <entry>Для построения и установки порта требуется
<literal>perl 5</literal>.
Обратитесь к <xref linkend="using-perl"> для получения Обратитесь к <xref linkend="using-perl"> для получения
информации о дополнительных переменных, которые связаны с информации о дополнительных переменных, которые связаны с
Perl.</entry> <literal>perl</literal>.</entry>
</row> </row>
<row> <row>
@ -3026,8 +3049,9 @@ PATCHFILES= patch1:test</programlisting>
<literal>USE_QT=yes</literal>, если ваш порт использует самую <literal>USE_QT=yes</literal>, если ваш порт использует самую
последнюю версию пакета qt. Укажите последнюю версию пакета qt. Укажите
<literal>USE_PERL5=yes</literal> в случае, если вашему порту <literal>USE_PERL5=yes</literal> в случае, если вашему порту
требуется версия 5 языка perl. (Последнее особенно важно, так как требуется версия 5 языка <literal>perl</literal>. (Последнее
некоторые версии FreeBSD имеют perl5 в составе системы, когда как особенно важно, так как некоторые версии FreeBSD имеют
<literal>perl5</literal> в составе системы, когда как
другие - нет.)</para> другие - нет.)</para>
</sect2> </sect2>
@ -3055,11 +3079,9 @@ PATCHFILES= patch1:test</programlisting>
<makevar>RUN_DEPENDS</makevar>. Пользуйтесь этим, только когда вам <makevar>RUN_DEPENDS</makevar>. Пользуйтесь этим, только когда вам
нужно иметь исходный код другого порта. Вы можете сэкономить время нужно иметь исходный код другого порта. Вы можете сэкономить время
на компиляции, указав также и цель. Например, на компиляции, указав также и цель. Например,
<programlisting> <programlisting>BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract</programlisting>
BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract всегда будет переходить в каталог с портом <literal>jpeg</literal> и
</programlisting> распаковывать его.</para>
всегда будет переходить в каталог с портом JPEG и распаковывать
его.</para>
<para>Не нужно использовать <makevar>DEPENDS</makevar>, если есть <para>Не нужно использовать <makevar>DEPENDS</makevar>, если есть
другой способ получить требуемый результат. Это может привести к другой способ получить требуемый результат. Это может привести к
@ -3348,10 +3370,11 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar</programlisting>
</sect1> </sect1>
<sect1 id="using-perl"> <sect1 id="using-perl">
<title>Использование Perl</title> <title>Использование <literal>perl</literal></title>
<table frame="none"> <table frame="none">
<title>Переменные для портов, использующих Perl</title> <title>Переменные для портов, использующих
<literal>perl</literal></title>
<tgroup cols="2"> <tgroup cols="2">
<thead> <thead>
@ -3366,8 +3389,8 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar</programlisting>
<row> <row>
<entry><makevar>USE_PERL5</makevar></entry> <entry><makevar>USE_PERL5</makevar></entry>
<entry>Указывает на то, что порт использует Perl 5 для своего <entry>Указывает на то, что порт использует <literal>perl
построения и работы.</entry> 5</literal> для своего построения и работы.</entry>
</row> </row>
<row> <row>
@ -3390,29 +3413,32 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar</programlisting>
<row> <row>
<entry><makevar>PERL_VERSION</makevar></entry> <entry><makevar>PERL_VERSION</makevar></entry>
<entry>Полный номер версии установленного Perl (например, <entry>Полный номер версии установленного <literal>perl</literal>
<literal>5.00503</literal>).</entry> (например, <literal>5.00503</literal>).</entry>
</row> </row>
<row> <row>
<entry><makevar>PERL_VER</makevar></entry> <entry><makevar>PERL_VER</makevar></entry>
<entry>Краткий номер версии установленного Perl (например, <entry>Краткий номер версии установленного
<literal>5.005</literal>).</entry> <literal>perl</literal> (например,
<literal>5.005</literal>).</entry>
</row> </row>
<row> <row>
<entry><makevar>PERL_LEVEL</makevar></entry> <entry><makevar>PERL_LEVEL</makevar></entry>
<entry>Версия установленного Perl в форме целого числа вида <entry>Версия установленного <literal>perl</literal> в форме
MNNNPP (например, <literal>500503</literal>).</entry> целого числа вида <literal>MNNNPP</literal> (например,
<literal>500503</literal>).</entry>
</row> </row>
<row> <row>
<entry><makevar>PERL_ARCH</makevar></entry> <entry><makevar>PERL_ARCH</makevar></entry>
<entry>Место, где Perl хранит архитектурно-зависимые библиотеки. <entry>Место, где <literal>perl</literal> хранит
По умолчанию это <literal>${ARCH}-freebsd</literal>.</entry> архитектурно-зависимые библиотеки. По умолчанию
это <literal>${ARCH}-freebsd</literal>.</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
@ -3828,8 +3854,8 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar</programlisting>
<makevar>PORTOBJFORMAT</makevar> будет установлена в значение <makevar>PORTOBJFORMAT</makevar> будет установлена в значение
<literal>aout</literal> или <literal>elf</literal> и будет передана <literal>aout</literal> или <literal>elf</literal> и будет передана
в переменные окружения <envar>CONFIGURE_ENV</envar>, в переменные окружения <envar>CONFIGURE_ENV</envar>,
<envar>SCRIPTS_ENV</envar> и <envar>MAKE_ENV</envar>. (И всегда <envar>SCRIPTS_ENV</envar> и <envar>MAKE_ENV</envar>. (Она всегда
будет равно <literal>aout</literal> для 2.2-STABLE). Она также будет равной <literal>aout</literal> для 2.2-STABLE). Она также
будет передана в <maketarget>PLIST_SUB</maketarget> как будет передана в <maketarget>PLIST_SUB</maketarget> как
<literal>PORTOBJFORMAT=${PORTOBJFORMAT}</literal>. (Смотри <literal>PORTOBJFORMAT=${PORTOBJFORMAT}</literal>. (Смотри
замечания по поводу строк <literal>ldconfig</literal> ниже.)</para> замечания по поводу строк <literal>ldconfig</literal> ниже.)</para>
@ -3899,9 +3925,9 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout
<sect1> <sect1>
<title><makevar>LIB_DEPENDS</makevar></title> <title><makevar>LIB_DEPENDS</makevar></title>
<para>Во всех портах файлы Makefile были исправлены так, чтобы убрать <para>Во всех портах файлы <filename>Makefile</filename> были исправлены
младшие числа из <makevar>LIB_DEPENDS</makevar>, а избавиться от так, чтобы убрать младшие числа из <makevar>LIB_DEPENDS</makevar> и
поддержки regexp. (Например, избавиться от поддержки regexp. (Например,
<literal>foo\\.1\\.\\(33|40\\)</literal> стала <literal>foo\\.1\\.\\(33|40\\)</literal> стала
<literal>foo.2</literal>.) Они будут искаться с помощью команды <literal>foo.2</literal>.) Они будут искаться с помощью команды
<command>grep -wF</command>.</para> <command>grep -wF</command>.</para>
@ -3932,12 +3958,10 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout
<sect1> <sect1>
<title><literal>ldconfig</literal></title> <title><literal>ldconfig</literal></title>
<para>Строка <literal>ldconfig</literal> в файлах Makefile <para>Строка <literal>ldconfig</literal> в файлах
должна иметь вид:</para> <filename>Makefile</filename> должна иметь вид:</para>
<programlisting> <programlisting>${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....</programlisting>
${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....
</programlisting>
<para>В файле <filename>pkg-plist</filename> она должна быть такой:</para> <para>В файле <filename>pkg-plist</filename> она должна быть такой:</para>
@ -3965,7 +3989,7 @@ ${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....
совместно между портами как можно больше файлов. В типичном случае вам совместно между портами как можно больше файлов. В типичном случае вам
потребуются только очень короткие файлы <filename>Makefile</filename> потребуются только очень короткие файлы <filename>Makefile</filename>
во всех каталогах, кроме одного, если вы будете использовать переменные во всех каталогах, кроме одного, если вы будете использовать переменные
с умом. В отдельных файлах <filename>Makefiles</filename> вы можете с умом. В отдельных файлах <filename>Makefile</filename> вы можете
использовать переменную <makevar>MASTERDIR</makevar> для указания использовать переменную <makevar>MASTERDIR</makevar> для указания
каталога, в котором находятся все остальные файлы. Также используйте каталога, в котором находятся все остальные файлы. Также используйте
переменную как часть <link переменную как часть <link
@ -4101,8 +4125,9 @@ MASTERDIR= ${.CURDIR}/../xdvi300
отличный от <makevar>PREFIX</makevar>, вы можете использовать отличный от <makevar>PREFIX</makevar>, вы можете использовать
переменную <makevar>MANPREFIX</makevar>, чтобы задать его явно. Кроме переменную <makevar>MANPREFIX</makevar>, чтобы задать его явно. Кроме
того, если страницы только некоторых разделов помещаются в того, если страницы только некоторых разделов помещаются в
нестандартное место, например, в случае портов модулей языка Perl, вы нестандартное место, например, в случае портов модулей языка
можете установить пути страниц Справочника индивидуально, при помощи <literal>perl</literal> Perl, вы можете установить маршруты к справочным
страницам индивидуально, при помощи
<makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> (где <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> (где
<replaceable>sect</replaceable> принимает значения <replaceable>sect</replaceable> принимает значения
<literal>1-9</literal>, <literal>L</literal> или <literal>1-9</literal>, <literal>L</literal> или
@ -4163,8 +4188,8 @@ ${PREFIX}/man/ja/man4/baz.4.gz
<title><makevar>USE_MOTIF</makevar></title> <title><makevar>USE_MOTIF</makevar></title>
<para>Если вашему порту требуется Motif, задайте эту переменную в <para>Если вашему порту требуется Motif, задайте эту переменную в
файле Makefile. Это не позволит людям, у которых нет собственной файле <filename>Makefile</filename>. Это не позволит людям, у которых
копии Motif, даже попытаться построить порт.</para> нет собственной копии Motif, даже попытаться построить порт.</para>
</sect1> </sect1>
<sect1 id="motif-lib"> <sect1 id="motif-lib">
@ -4241,7 +4266,7 @@ ${PREFIX}/man/ja/man4/baz.4.gz
приложение, то вы можете поместить сообщение в файл приложение, то вы можете поместить сообщение в файл
<filename>pkg-message</filename>. Эта возможность часто оказывается <filename>pkg-message</filename>. Эта возможность часто оказывается
полезной для вывода дополнительных шагов установки, которые нужно полезной для вывода дополнительных шагов установки, которые нужно
предпринять после выполнения команды <command>pkg_add</command>, или предпринять после выполнения команды &man.pkg.add.1;, или
для вывода информации о лицензировании.</para> для вывода информации о лицензировании.</para>
<note> <note>
@ -4257,11 +4282,11 @@ ${PREFIX}/man/ja/man4/baz.4.gz
<title><filename>pkg-install</filename></title> <title><filename>pkg-install</filename></title>
<para>Если при установке бинарного пакаджа по команде <para>Если при установке бинарного пакаджа по команде
<command>pkg_add</command> вашему порту нужно выполнить какие-то &man.pkg.add.1; вашему порту нужно выполнить какие-то
дополнительные действия или команды, то вы можете сделать это с дополнительные действия или команды, то вы можете сделать это с
помощью скрипта <filename>pkg-install</filename>. Этот скрипт будет помощью скрипта <filename>pkg-install</filename>. Этот скрипт будет
автоматически добавлен к пакаджу, и будет дважды запускаться по автоматически добавлен к пакаджу, и будет дважды запускаться по
команде <command>pkg_add</command>. Первый раз в виде команде &man.pkg.add.1;. Первый раз в виде
<literal>&dollar;{SH} pkg-install &dollar;{PKGNAME} <literal>&dollar;{SH} pkg-install &dollar;{PKGNAME}
PRE-INSTALL</literal>, а второй раз как <literal>&dollar;{SH} {PKGNAME} PRE-INSTALL</literal>, а второй раз как <literal>&dollar;{SH} {PKGNAME}
POST-INSTALL</literal>. POST-INSTALL</literal>.
@ -4302,7 +4327,7 @@ ${PREFIX}/man/ja/man4/baz.4.gz
реально выполняться.</para> реально выполняться.</para>
<para>Скрипт будет запущен в процессе установки командой <para>Скрипт будет запущен в процессе установки командой
<command>pkg_add</command>, как <literal>pkg-req &man.pkg.add.1;, как <literal>pkg-req
&dollar;{PKGNAME} INSTALL</literal>. В процессе удаления он &dollar;{PKGNAME} INSTALL</literal>. В процессе удаления он
будет запущен командой &man.pkg.delete.1; как будет запущен командой &man.pkg.delete.1; как
<literal>pkg-req &dollar;{PKGNAME} DEINSTALL</literal>.</para> <literal>pkg-req &dollar;{PKGNAME} DEINSTALL</literal>.</para>
@ -4312,19 +4337,20 @@ ${PREFIX}/man/ja/man4/baz.4.gz
<title>Изменение содержимого <filename>pkg-plist</filename> в зависимости <title>Изменение содержимого <filename>pkg-plist</filename> в зависимости
от make-переменных</title> от make-переменных</title>
<para>Некоторые порты, в частности, порты p5-, должны менять содержимое <para>Некоторые порты, в частности, порты <literal>p5-</literal>, должны
своих файлов <filename>pkg-plist</filename> в зависимости от того, с менять содержимое своих файлов <filename>pkg-plist</filename> в
какими параметрами они были отконфигурированы (или в зависимости от зависимости от того, с какими параметрами они были отконфигурированы
версии языка perl в случае портов p5-). Чтобы облегчить этот (или в зависимости от версии языка <literal>perl</literal> в случае
портов <literal>p5-</literal>). Чтобы облегчить этот
процесс, любые вхождения ключевых слов <literal>%%OSREL%%</literal>, процесс, любые вхождения ключевых слов <literal>%%OSREL%%</literal>,
<literal>%%PERL_VER%%</literal> и <literal>%%PERL_VERSION%%</literal> <literal>%%PERL_VER%%</literal> и <literal>%%PERL_VERSION%%</literal>
в файле <filename>pkg-plist</filename> будут заменяться соответствующими в файле <filename>pkg-plist</filename> будут заменяться соответствующими
значениями. Значением <literal>%%OSREL%%</literal> является номер значениями. Значением <literal>%%OSREL%%</literal> является номер
версии операционной системы (например, <literal>2.2.7</literal>). версии операционной системы (например, <literal>2.2.7</literal>).
<literal>%%PERL_VERSION%%</literal> обозначает полный номер версия <literal>%%PERL_VERSION%%</literal> обозначает полный номер версии
perl (например, <literal>5.00502</literal>), а <literal>perl</literal> (например, <literal>5.00502</literal>), а
<literal>%%PERL_VER%%</literal> - номер версии perl без номера <literal>%%PERL_VER%%</literal> - номер версии <literal>perl</literal>
патча (например, <literal>5.005</literal>).</para> без номера патча (например, <literal>5.005</literal>).</para>
<para>Если вам нужно сделать другие подстановки, вы можете указать в <para>Если вам нужно сделать другие подстановки, вы можете указать в
переменной <makevar>PLIST_SUB</makevar> список пар переменной <makevar>PLIST_SUB</makevar> список пар
@ -4462,9 +4488,10 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
автоматически; в противном случае зачастую это может быть сделано автоматически; в противном случае зачастую это может быть сделано
простой заменой строк <filename>/usr/local</filename> (или простой заменой строк <filename>/usr/local</filename> (или
<filename>/usr/X11R6</filename> для портов X, не использующих imake) <filename>/usr/X11R6</filename> для портов X, не использующих imake)
в различных скриптах/файлах Makefile порта на чтение в различных файлах <filename>scripts/Makefile</filename> порта на
<makevar>PREFIX</makevar>, так как эта переменная автоматически использование <makevar>PREFIX</makevar>, так как эта переменная
передается далее на каждом этапе построения и установки.</para> автоматически передаётся далее на каждом этапе построения и
установки.</para>
<para>Проверьте, что ваше приложение не устанавливает чего-либо в <para>Проверьте, что ваше приложение не устанавливает чего-либо в
каталог <filename>/usr/local</filename> вместо каталог <filename>/usr/local</filename> вместо
@ -4495,8 +4522,8 @@ ort-name</replaceable></userinput>
<para>Переменная <makevar>PREFIX</makevar> может быть переназначена в <para>Переменная <makevar>PREFIX</makevar> может быть переназначена в
вашем файле <filename>Makefile</filename> или в окружении вашем файле <filename>Makefile</filename> или в окружении
пользователя. Однако строго не рекомендуется отдельным портам пользователя. Однако строго не рекомендуется отдельным портам
устанавливать эту переменную явно в файле устанавливать эту переменную явно в файлах
<filename>Makefiles</filename>.</para> <filename>Makefile</filename>.</para>
<para>Кроме того, обратитесь к программам/файлам из других портов с <para>Кроме того, обратитесь к программам/файлам из других портов с
переменными, перечисленными выше, без указания явных маршрутов. переменными, перечисленными выше, без указания явных маршрутов.
@ -4517,7 +4544,8 @@ ort-name</replaceable></userinput>
если это порт X, вместо того, чтобы задавать если это порт X, вместо того, чтобы задавать
<literal>-DPAGER=\"/usr/local/bin/less\"</literal>. Этот способ <literal>-DPAGER=\"/usr/local/bin/less\"</literal>. Этот способ
имеет больше шансов на работу, если системный администратор имеет больше шансов на работу, если системный администратор
переместил всё дерево `/usr/local' куда-то в другое место.</para> переместил всё дерево <filename>/usr/local</filename> куда-то в другое
место.</para>
</sect1> </sect1>
<sect1 id="testing-freshports"> <sect1 id="testing-freshports">
@ -4533,10 +4561,11 @@ ort-name</replaceable></userinput>
<para>Если вы хотите использовать этот сервис, всё, что вам нужно - <para>Если вы хотите использовать этот сервис, всё, что вам нужно -
это регистрация на сайте FreshPorts. Если ваш зарегистрированный это регистрация на сайте FreshPorts. Если ваш зарегистрированный
адрес электронной почты имеет вид @FreeBSD.org, вы увидите ссылку адрес электронной почты имеет вид <literal>@FreeBSD.org</literal>, вы
справа на веб-страницах. Тем из вас, кто уже зарегистрирован на увидите ссылку справа на веб-страницах. Тем из вас, кто уже
сайте FreshPorts, но не использует электронный адрес @FreeBSD.org, зарегистрирован на сайте FreshPorts, но не использует электронный адрес
достаточно сменить ваш адрес электронной почты на @FreeBSD.org, <literal>@FreeBSD.org</literal>, достаточно сменить ваш адрес
электронной почты на <literal>@FreeBSD.org</literal>,
подписаться, а потом вернуть всё назад.</para> подписаться, а потом вернуть всё назад.</para>
</sect1> </sect1>
</chapter> </chapter>
@ -5500,6 +5529,18 @@ ort-name</replaceable></userinput>
<entry>480102</entry> <entry>480102</entry>
</row> </row>
<row>
<entry>4.9-RELEASE</entry>
<entry>490000</entry>
</row>
<row>
<entry>4.9-STABLE</entry>
<entry>490100</entry>
</row>
<row> <row>
<entry>5.0-CURRENT</entry> <entry>5.0-CURRENT</entry>
@ -5989,6 +6030,52 @@ ort-name</replaceable></userinput>
<entry>501110</entry> <entry>501110</entry>
</row> </row>
<row>
<entry>5.1-CURRENT после изменений в структуре cdevsw</entry>
<entry>501111</entry>
</row>
<row>
<entry>5.1-CURRENT после добавления множественного наследования
для kobj</entry>
<entry>501112</entry>
</row>
<row>
<entry>5.1-CURRENT после изменения if_xname в структуре
ifnet</entry>
<entry>501113</entry>
</row>
<row>
<entry>5.1-CURRENT после изменений, связанных с динамической
компоновкой /bin и /sbin</entry>
<entry>501114</entry>
</row>
<row>
<entry>5.2-RELEASE</entry>
<entry>502000</entry>
</row>
<row>
<entry>5.2-CURRENT после отделения ветки RELENG_5_2</entry>
<entry>502100</entry>
</row>
<row>
<entry>5.2-CURRENT после добавления в libc функций
__cxa_atexit/__cxa_finalize.</entry>
<entry>502100</entry>
</row>
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
@ -6019,9 +6106,9 @@ ort-name</replaceable></userinput>
<note> <note>
<para>Вам нужно включить либо пару файлов <para>Вам нужно включить либо пару файлов
<filename>pre.mk</filename>/<filename>post.mk</filename>, либо <filename>bsd.port.pre.mk</filename>/<filename>bsd.port.post.mk</filename>,
только <filename>bsd.port.mk</filename>; не смешивайте два этих либо только <filename>bsd.port.mk</filename>; не используйте оба этих
случая.</para> метода одновременно.</para>
</note> </note>
<para>В файле <filename>bsd.port.pre.mk</filename> определяются лишь <para>В файле <filename>bsd.port.pre.mk</filename> определяются лишь
@ -6216,7 +6303,7 @@ post-install:
администраторов/менеджеров системы), <filename>info</filename> администраторов/менеджеров системы), <filename>info</filename>
(документация в формате info для просмотрщика info) или (документация в формате info для просмотрщика info) или
<filename>share</filename> (независимые от архитектуры файлы). <filename>share</filename> (независимые от архитектуры файлы).
Обратитесь к &man.hier.7; для прояснения деталей, правила, Обратитесь к &man.hier.7; для прояснения деталей; правила,
покрывающие <filename>/usr</filename>, достаточно хорошо подходят покрывающие <filename>/usr</filename>, достаточно хорошо подходят
также и к <filename>/usr/local</filename>. Исключением являются также и к <filename>/usr/local</filename>. Исключением являются
порты, имеющие дело с <quote>новостями</quote> USENET. Они могут порты, имеющие дело с <quote>новостями</quote> USENET. Они могут
@ -6253,7 +6340,7 @@ lib/X11/oneko/sounds/cat.au
<programlisting>@unexec rmdir %D/share/doc/gimp 2>/dev/null || true</programlisting> <programlisting>@unexec rmdir %D/share/doc/gimp 2>/dev/null || true</programlisting>
<para>Эта команда не выведет никаких сообщений об ошибках и не вызовет <para>Эта команда не выведет никаких сообщений об ошибках и не вызовет
аварийного завершения работы <command>pkg_delete</command>, даже если аварийного завершения работы &man.pkg.delete.1;, даже если
каталог <filename><makevar>PREFIX</makevar>/share/doc/gimp</filename> каталог <filename><makevar>PREFIX</makevar>/share/doc/gimp</filename>
не пуст из-за того, что другие порты установили сюда какие-то не пуст из-за того, что другие порты установили сюда какие-то
файлы.</para> файлы.</para>
@ -6407,7 +6494,7 @@ CFLAGS = -Wall -Werror
<filename><makevar>PREFIX</makevar>/etc</filename>, <filename><makevar>PREFIX</makevar>/etc</filename>,
<emphasis>не</emphasis> просто установите их и перечислите в файле <emphasis>не</emphasis> просто установите их и перечислите в файле
<filename>pkg-plist</filename>. Это приведёт к тому, что по команде <filename>pkg-plist</filename>. Это приведёт к тому, что по команде
<command>pkg_delete</command> или при новой установке файлы, &man.pkg.delete.1; или при новой установке файлы,
тщательно отредактированные и настроенные пользователем, будут тщательно отредактированные и настроенные пользователем, будут
уничтожены.</para> уничтожены.</para>
@ -6447,13 +6534,12 @@ CFLAGS = -Wall -Werror
правильно?). Для пометки порта как неработоспособного имеются три правильно?). Для пометки порта как неработоспособного имеются три
<command>make</command>-переменные, которые могут быть использованы <command>make</command>-переменные, которые могут быть использованы
в файле <filename>Makefile</filename> порта. Значение следующих в файле <filename>Makefile</filename> порта. Значение следующих
<command>make</command>-переменных будут являться причинами, <command>make</command>-переменных будут являться причинами, по которым
по которым порт помечен как неработоспособный, и выдаются порт помечен как неработоспособный, и выдаются пользователям.
пользователям. Пожалуйста, используйте корректные Пожалуйста, используйте корректные <command>make</command>-переменные,
<command>make</command>-переменные, так как каждая make-переменная так как каждая переменная построения имеет абсолютно различный смысл
имеет абсолютно различный смысл как для пользователей, так и для как для пользователей, так и для автоматизированных систем, которые
автоматизированных систем, которые обрабатывают файлы обрабатывают файлы <filename>Makefile</filename>.</para>
<filename>Makefile</filename>.</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>